gpt4 book ai didi

javascript - 短路 Array.forEach 就像调用 break

转载 作者:IT老高 更新时间:2023-10-28 11:10:47 24 4
gpt4 key购买 nike

[1,2,3].forEach(function(el) {
if(el === 1) break;
});

如何使用 JavaScript 中的新 forEach 方法来做到这一点?我试过 return;return false;breakbreak 崩溃,return 除了继续迭代什么都不做。

最佳答案

forEach 中没有内置的break 功能。要中断执行,您必须抛出某种异常。例如。

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 异常并不是非常漂亮。如果您确实需要在其中 break ,则传统的 for 循环可能更合适。

使用 Array#some

改为使用 Array#some :

[1, 2, 3].some(function(el) {
console.log(el);
return el === 2;
});

这是因为 some 返回 true 任何回调,按数组顺序执行,返回 true,短路其余部分的执行。

一些,它的逆every (将在 return false 处停止)和 forEach 都是 ECMAScript 第五版方法,需要添加到 Array.prototype在缺少它们的浏览器上。

关于javascript - 短路 Array.forEach 就像调用 break,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com