转到“下一个”;JavaScript forEach循环中的迭代

如何进入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文档只提到完全打破循环,没有移动到下一个迭代。

233820 次浏览

如果你想跳过当前迭代,你可以简单地return

因为你在一个函数中,如果你在做其他事情之前return,那么你已经有效地跳过了return语句下面的代码的执行。

对于每个循环,JavaScript的forEach的工作方式与其他语言的工作方式略有不同。如果读取到中数,则表示对数组中的每个元素按升序执行函数。要继续到下一个元素,即运行下一个函数,只需返回当前函数,而不需要它进行任何计算。

添加一个return,它将进入循环的下一次运行:

var myArr = [1,2,3,4];


myArr.forEach(function(elem){
if (elem === 3) {
return;
}


console.log(elem);
});

输出:1,2,4

只要在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);
});