如何在javascript中脱离foreach循环

Sah*_*hil 16 javascript

我是Javascrript的新手.我有一个变量有以下细节:

var result = false;
[{"a": "1","b": null},{"a": "2","b": 5}].forEach(function(call){
    console.log(call);
    var a = call['a'];
    var b = call['b'];
    if(a == null || b == null){
        result = false
        break;
    }
});
Run Code Online (Sandbox Code Playgroud)

如果键的值为NULL,我想打破循环.我该怎么做?

fat*_*thy 55

不要使用.forEach然后for循环:

var myObj = [{"a": "1","b": null},{"a": "2","b": 5}]
var result = false

for(var call of myObj) {
    console.log(call)

    var a = call['a'], b = call['b']

    if(a == null || b == null) {
        result = false
        break
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您关心性能,请使用`.forEach`并在获得结果时忽略下一次调用,这是在ES5中执行此操作的最有效方法.请注意,ES5没有`Map`所以你可能正在使用像`core-js`这样的polyfill,本机对象(`{}`)在这种情况下更快,并且可以使用`for(对象中的var key)进行迭代`. (3认同)
  • 为什么只能使用`.forEach`? (2认同)