Ответ 1
Вы можете просто return
, если хотите пропустить текущую итерацию.
Поскольку вы используете функцию, если вы return
перед чем-то еще, то вы фактически пропустили выполнение кода ниже инструкции return
.
Как перейти к следующей итерации цикла 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 упоминает только прорыв цикла, не переходя к следующей итерации.
Вы можете просто return
, если хотите пропустить текущую итерацию.
Поскольку вы используете функцию, если вы return
перед чем-то еще, то вы фактически пропустили выполнение кода ниже инструкции return
.
JavaScript forEach работает немного иначе, чем с другими языками для каждого цикла. Если вы читаете в MDN, в нем говорится, что функция выполняется для каждого из элементов в массиве в порядке возрастания. Чтобы продолжить следующий элемент, то есть запустить следующую функцию, вы можете просто вернуть текущую функцию, не выполняя никаких вычислений.
Добавление возвращаемого значения и переход к следующему запуску цикла:
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return;
}
console.log(elem);
});
просто верните истину внутри оператора 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);
});