Przejdź do" następnej " iteracji w pętli javascript forEach [duplikat]
To pytanie ma już odpowiedź tutaj:
- "Kontynuuj" kursorem.forEach () 2 odpowiedzi
Jak przejść do następnej iteracji pętli Javascript Array.forEach()
?
Na przykład:
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);
});
Jestem naprawdę zaskoczony, że to już nie jest pytanie - więc wyszukiwanie nic nie daje, tak samo z sugerowanymi odpowiedziami. MDN docs wspomnij tylko o całkowitym wyrwaniu się z pętli, nie przechodząc do następnej iteracji.
3 answers
Możesz po prostu return
, jeśli chcesz pominąć bieżącą iterację.
Ponieważ jesteś w funkcji, jeśli return
przed zrobieniem czegokolwiek innego, to skutecznie pominąłeś wykonanie kodu poniżej instrukcji return
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 06:40:15
Foreach JavaScript działa nieco inaczej niż w innych językach dla każdej pętli. Jeśli odczyt na MDN , mówi, że Funkcja jest wykonywana dla każdego z elementów tablicy, w porządku rosnącym. Aby przejść do następnego elementu, czyli uruchomić następną funkcję, możesz po prostu zwrócić bieżącą funkcję bez konieczności wykonywania jakichkolwiek obliczeń.
Dodanie zwrotu i przejdzie do następnego uruchomienia loop:
var myArr = [1,2,3,4];
myArr.forEach(function(elem){
if (elem === 3) {
return;
}
console.log(elem);
});
Wyjście: 1, 2, 4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-27 17:50:10
Po prostu zwróć true wewnątrz Twojej deklaracji 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);
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-14 06:43:40