使阵列短路。 forEach 类调用中断
.forEach(function(el) {if(el === 1) break;
});
如何使用 JavaScript 中的新 forEach 方法来实现这一点?我试过退货; ,返回假;并打破。打破崩溃并继续迭代。
回答
break 中没有内置的 forEach 函数。要中断执行,必须抛出某种异常。如。
var BreakException = {};
try {
.forEach(function(el) {
console.log(el);
if (el === 2) throw BreakException;
});
} catch (e) {
if (e !== BreakException) throw e;
}
JavaScript 异常不是很漂亮。如果你真的需要在循环中使用 for 循环,那么传统的循环可能更合适。
休息
相反,使用 Array#some :
数组#一些
.some(function(el) {
console.log(el);
return el === 2;
});
这是因为只要按数组顺序执行的任何回调返回,其余回调的执行就会短路,返回一些 .
true ,它的反向 true (将在 some 上停止),并且每个都是 ECMAScript 第 5 版方法,需要添加以在缺少它们的浏览器上返回 false。
页:
[1]