Maison >interface Web >js tutoriel >Est-ce que « return » arrête une boucle JavaScript « forEach » ?

Est-ce que « return » arrête une boucle JavaScript « forEach » ?

DDD
DDDoriginal
2025-01-04 21:07:40934parcourir

Does `return` Stop a JavaScript `forEach` Loop?

Comprendre l'utilisation de return dans la fonction forEach

Dans la fonction forEach de JavaScript, l'utilisation du mot-clé return a un effet limité.

Impact du retour

Dans une fonction de rappel forEach, return n'affecte que l'exécution de ce rappel particulier. Cela ne rompt pas la boucle et n’empêche pas l’exécution des rappels ultérieurs. Par conséquent, dans l'exemple fourni :

[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)      
})

Lorsque n est égal à 3, le rappel renverra false, ce qui équivaut à renvoyer "undefined" dans ce contexte. Cependant, la boucle continuera comme prévu et le numéro suivant (4) sera alerté.

Méthodes d'itération alternatives

Si vous devez sortir d'une boucle en fonction d'une condition, envisagez d'utiliser des méthodes d'itération alternatives telles que :

  • Un simple boucle :

    for (let i = 0; i < array.length; i++) {
    if (array[i] == 3) {
      break;
    }
    alert(array[i]);
    }
  • Array.prototype.every():

    array.every((n) => {
    if (n == 3) {
      return false; // Exit the loop
    }
    alert(n);
    return true;
    });

Documentation du réseau de développeurs Mozilla

Comme indiqué dans le réseau de développeurs Mozilla documentation :

"Il n'y a aucun moyen d'arrêter ou de rompre une boucle forEach() autrement qu'en lançant une exception. Si vous avez besoin d'un tel comportement, la méthode forEach() n'est pas le bon outil."

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