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


如果您想跳过当前迭代,您可以简单地返回。

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


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

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

var myArr = [1,2,3,4]; myArr.forEach(function(elem){ if (elem === 3) { 返回; } 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);
});