了解 forEach 函数中 return 的用法
在 JavaScript 的 forEach 函数中,使用 return 关键字效果有限。
的影响return
在 forEach 回调函数中,return 仅影响该特定回调的执行。它不会中断循环,也不会阻止后续回调的运行。因此,在提供的示例中:
[1, 2, 3, 4, 5].forEach(function (n) { if (n == 3) { // it should break out here and doesn't alert anything after return false } alert(n) })
当 n 等于 3 时,回调将返回 false,相当于在此上下文中返回“undefined”。但是,循环将按预期继续,并且将提醒下一个数字 (4)。
替代迭代方法
如果需要跳出循环根据条件,考虑使用替代迭代方法,例如:
一个简单的循环:
for (let i = 0; i < array.length; i++) { if (array[i] == 3) { break; } alert(array[i]); }
Array.prototype.every():
array.every((n) => { if (n == 3) { return false; // Exit the loop } alert(n); return true; });
Mozilla 开发者网络文档
正如 Mozilla 开发者网络文档中所述:
“除了抛出异常之外,没有其他方法可以停止或中断 forEach() 循环。如果您需要这样的行为,forEach() 方法是错误的工具。”
以上是`return` 是否会停止 JavaScript `forEach` 循环?的详细内容。更多信息请关注PHP中文网其他相关文章!