如何进入Javascript Array.forEach()
循环的下一次迭代?
例如:
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
// Go to "next" iteration. Or "continue" to next iteration...
}
console.log(elem);
});
我真的很惊讶这不是一个问题 - 所以搜索没有任何结果,与建议的答案一样。 MDN docs只提到完全摆脱循环,而不是转移到下一次迭代。
答案 0 :(得分:224)
如果你想跳过当前的迭代,你可以简单地return
。
由于你在一个函数中,如果你在做任何其他事情之前return
,那么你实际上已经跳过return
语句下面的代码的执行。
答案 1 :(得分:46)
JavaScript的forEach与每个循环使用其他语言的方式略有不同。如果在MDN上阅读,则表示对数组中的每个元素执行函数,按升序排列。要继续下一个元素,即运行下一个函数,您只需返回当前函数,而无需进行任何计算。
添加一个返回,它将转到循环的下一次运行:
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return;
}
console.log(elem);
});

输出:1,2,4
答案 2 :(得分:3)
在if语句中返回true
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return true;
// Go to "next" iteration. Or "continue" to next iteration...
}
console.log(elem);
});