Comprendre le comportement du return à l'intérieur de la fonction forEach
Souvent en JavaScript, il existe une idée fausse sur le comportement du mot-clé return dans la fonction forEach . Cet article vise à clarifier son utilisation prévue.
Considérez l'extrait de code 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); }); });
Dans ce code, l'instruction return est utilisée dans la boucle forEach pour arrêter prématurément l'itération. Cependant, le code continue d'alerter les éléments suivants du tableau. Pourquoi cela se produit-il ?
La vraie nature du retour dans forEach
Contrairement à la croyance populaire, l'instruction return dans la fonction forEach a une signification différente de celle dans constructions de boucles comme for ou while. Dans forEach, le retour ne signifie pas une fin anticipée de la boucle.
Explication du réseau de développeurs Mozilla
Selon la documentation officielle du réseau de développeurs Mozilla :
"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, le La méthode forEach() n'est pas le bon outil."
Approches alternatives
Si votre objectif est d'arrêter conditionnellement l'itération de la boucle, il existe des méthodes alternatives disponibles :
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!