web-dev-qa-db-fra.com

Aller à la prochaine itération en JavaScript pour chaque boucle

Comment passer à la prochaine itération d'une boucle JavaScript Array.forEach()?

Par exemple:

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 ne mentionne que la sortie complète de la boucle, sans passer à la prochaine itération.

152
Don P

Vous pouvez simplement return si vous voulez ignorer l'itération en cours.

Puisque vous êtes dans une fonction, si vous return avant de faire autre chose, vous avez effectivement sauté l’exécution du code situé sous l’instruction return.

260
rid

JavaScript pourChaque fonctionne un peu différemment de la façon dont on peut être utilisé depuis d'autres langages pour chaque boucle. Si vous lisez sur le MDN , il est indiqué qu'une fonction est exécutée pour chacun des éléments du tableau, dans ordre croissant. Pour passer à l’élément suivant, c’est-à-dire exécuter la fonction suivante, vous pouvez simplement renvoyer la fonction en cours sans qu’elle ne fasse de calcul.

Ajouter un retour et cela ira à la prochaine exécution de la boucle:

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

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

  console.log(elem);
});

Sortie: 1, 2, 4

51

retourne juste true dans ta déclaration 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);
});
5
dimshik