Verstehen der Verwendung von return in der forEach-Funktion
In der forEach-Funktion von JavaScript hat die Verwendung des Schlüsselworts return nur eine begrenzte Wirkung.
Auswirkungen der Rückgabe
Innerhalb eines forEach-Rückrufs Funktion, return wirkt sich nur auf die Ausführung dieses bestimmten Rückrufs aus. Die Schleife wird dadurch nicht unterbrochen und die Ausführung nachfolgender Rückrufe wird nicht verhindert. Daher gilt im bereitgestellten Beispiel:
[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) })
Wenn n gleich 3 ist, gibt der Rückruf „false“ zurück, was in diesem Kontext der Rückgabe von „undefiniert“ entspricht. Die Schleife wird jedoch wie erwartet fortgesetzt und die nächste Nummer (4) wird benachrichtigt.
Alternative Iterationsmethoden
Wenn Sie aus einer Schleife ausbrechen müssen Erwägen Sie basierend auf einer Bedingung die Verwendung alternativer Iterationsmethoden wie:
Eine einfache Schleife:
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; });
Mozilla Developer Network-Dokumentation
Wie im Mozilla Developer Network angegeben Dokumentation:
„Es gibt keine andere Möglichkeit, eine forEach()-Schleife zu stoppen oder zu unterbrechen, als eine Ausnahme auszulösen. Wenn Sie ein solches Verhalten benötigen, ist die forEach()-Methode das falsche Werkzeug.“
Das obige ist der detaillierte Inhalt vonStoppt „return' eine JavaScript-„forEach'-Schleife?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!