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!