javascript - TypeScript foreach 返回

标签 javascript c# typescript

<分区>

我想知道是否有更好的方法来执行此操作 - 看起来从 foreach 返回并没有从包含 foreach 循环的函数返回,这可能是 C# 开发人员的期望。

只是想知道是否有更简洁的方法:

example() {
    var forEachReturned;

    this.items.forEach(item => {
        if (true) {
            forEachReturned = true;
            return;
        }
    });

    if (forEachReturned) {
        return;
    }

    // Do stuff in case forEach has not returned
}

最佳答案

更简洁的方法是不使用 .forEach。如果您使用的是 TypeScript 或现代版本的 JavaScript,则几乎不需要它:

example() {
    for (let item of this.items) {
        if (item === 3) {
            return;
        }
    }      

    // Do stuff in case forEach has not returned
}

如果循环中的代码没有任何副作用,并且您只是检查每个项目的条件,您还可以使用 .some 的函数式方法:

example() {
    if (this.items.some(item => item === 3)) {
        return;
    }

    // Do stuff in case we have not returned
}

关于javascript - TypeScript foreach 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51873626/

相关文章:

javascript - 如何使用 yarn 工作区测试单个文件?

javascript - 滚动到 anchor 上方 100 像素

javascript - OrbitControls.js - 无法读取未定义的属性 'prototype'

javascript - 在 Safari 上退出全屏切换空间时 RequestAnimationFrame 不工作

c# - 为方法修饰构建表达式树?

reactjs - 观察者无法与 useLocalObservable 一起使用

TypeScript:从接口(interface)方法返回类的实例

javascript - javascript中的动态值到对象中

c# - linq2sql 如何跟踪数据库对象?

c# - 使用 json.net 将 json 反序列化为 .net 对象