Подтвердить что ты не робот

Перейти к "следующей" итерации в javascript forEach loop

Как перейти к следующей итерации цикла 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);
});

Я действительно удивлен, что это уже не вопрос - SO поиск ничего не вызывает, то же самое с предлагаемыми ответами. MDN docs упоминает только прорыв цикла, не переходя к следующей итерации.

4b9b3361

Ответ 1

Вы можете просто return, если хотите пропустить текущую итерацию.

Поскольку вы используете функцию, если вы return перед чем-то еще, то вы фактически пропустили выполнение кода ниже инструкции return.

Ответ 2

JavaScript forEach работает немного иначе, чем с другими языками для каждого цикла. Если вы читаете в MDN, в нем говорится, что функция выполняется для каждого из элементов в массиве в порядке возрастания. Чтобы продолжить следующий элемент, то есть запустить следующую функцию, вы можете просто вернуть текущую функцию, не выполняя никаких вычислений.

Добавление возвращаемого значения и переход к следующему запуску цикла:

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

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

  console.log(elem);
});

Ответ 3

просто верните истину внутри оператора if

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