转到javascript forEach循环中的“next”迭代

时间:2015-07-14 06:38:17

标签: 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 docs只提到完全摆脱循环,而不是转移到下一次迭代。

3 个答案:

答案 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);
});