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