Как "продолжить" внутри каждого цикла: подчеркивание, node.js
Код в node.js достаточно прост.
_.each(users, function(u, index) {
if (u.superUser === false) {
//return false would break
//continue?
}
//Some code
});
Мой вопрос: как я могу продолжить следующий индекс без выполнения "Некоторого кода", если для суперузера установлено значение false?
PS: Я знаю, что условие else решит проблему. Все еще интересно узнать ответ.
Ответы
Ответ 1
_.each(users, function(u, index) {
if (u.superUser === false) {
return;
//this does not break. _.each will always run
//the iterator function for the entire array
//return value from the iterator is ignored
}
//Some code
});
Обратите внимание, что с lodash (не подчеркиванием) _.forEach
, если вы хотите закончить "цикл" раньше, вы можете явно указать return false
из функции iteratee, и lodash завершит цикл forEach
раньше.
Ответ 2
Вместо цикла continue
statement in for вы можете использовать оператор return
в _.each()
в underscore.js, он будет пропускать только текущую итерацию.
Ответ 3
_.each(users, function(u, index) {
if (u.superUser) {
//Some code
}
});