Maison >interface Web >js tutoriel >Est-ce que « return » arrête l'itération d'une boucle « forEach » ?

Est-ce que « return » arrête l'itération d'une boucle « forEach » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-26 18:13:09350parcourir

Does `return` Stop a `forEach` Loop's Iteration?

Comment le retour affecte-t-il l'itération de la fonction forEach ?

Lors de l'utilisation de la fonction forEach, vous pouvez vous attendre à ce que le retour d'une valeur fausse éclate de la boucle et arrêter les itérations ultérieures. Cependant, ce n'est pas le cas.

La signification du retour dans forEach

Dans la fonction forEach, le mot-clé return fonctionne différemment que dans les autres boucles. Au lieu d'arrêter la boucle entière, il renvoie uniquement le résultat de l'itération en cours.

Exemple :

Considérez le code JavaScript suivant :

$('button').click(function () {
   [1, 2, 3, 4, 5].forEach(function (n) {
      if (n == 3) {
         // it should break out here and doesn't alert anything after
         return false
      }
      alert(n)      
   })
})

Explication :

Lorsque la fonction itérateur rencontre n == 3, il renvoie faux. Cela ne termine pas la boucle entière mais indique plutôt que l'itération actuelle doit renvoyer false.

Pourquoi l'itération continue :

La fonction forEach ignore la valeur renvoyée et continue itérer sur les éléments restants du tableau. En effet, forEach est conçu pour parcourir l'ensemble du tableau, quels que soient les résultats de la fonction itérateur.

Options de boucle alternatives :

Si vous avez besoin de sortir d'une boucle de manière conditionnelle, envisagez d'utiliser des méthodes de bouclage alternatives telles que :

  • Simple boucle
  • pour...de boucle
  • Array.prototype.every()
  • Array.prototype.some()
  • Array.prototype.find ()
  • Array.prototype.findIndex()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn