Heim >Web-Frontend >js-Tutorial >Wie kann ich die forEach()-Methode in JavaScript stoppen?
In JavaScript können Programmierer die Methode forEach() verwenden, um ein Array von Elementen zu durchlaufen. Wir können die Callback-Funktion aufrufen und sie für jedes Array-Element als Argument an die forEach()-Methode übergeben.
Manchmal müssen wir möglicherweise die forEach()-Schleife stoppen, nachdem wir die Rückruffunktion ausgeführt haben. Wir können das Schlüsselwort „break“ in einer normalen Schleife verwenden, um sie wie unten gezeigt zu stoppen.
for(let i = 0; i < length; i++){ // code if( some condition ){ break; } }
Aber wir können das Schlüsselwort „break“ nicht in der forEach()-Methode verwenden.
array.forEach(element => { // code if( some condition ){ break; } });
Der obige Code stoppt die Ausführung der forEach()-Schleife nicht.
In diesem Tutorial erfahren Sie, wie Sie eine forEach()-Schleife in JavaScript stoppen können.
Das Schlüsselwort return stoppt die Ausführung von Code. In der forEach()-Schleife wird es als continue-Anweisung verwendet.
Benutzer können das Schlüsselwort return gemäß der folgenden Syntax verwenden, um die Ausführung der Methode forEach() zu stoppen.
array.forEach(function (element, index) { if (condition) { return; } });
Wenn in der obigen Syntax die Bedingung wahr wird, wird der Code der Rückruffunktion des Elements nicht ausgeführt.
Die chinesische Übersetzung vonIm folgenden Beispiel verwenden wir die Methode forEach() mit dem Array von Zeichenfolgen. Wir rufen die Rückruffunktion auf, die jedes Element ausgibt, wenn der Index > Funktion. Das Element wird also nicht gedruckt.
<html> <body> <h2>Using the <i>return keyword</i> to stop the execution of the forEach() loop.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["string1", "string2", 10, 20, false, true]; function callback(element, index) { // stop execution of for-loop if (index > 2) { return; // works like a continue statement } output.innerHTML += "The array element is " + element + "<br/>"; } array.forEach(callback); </script> </body> </html>
Das Schlüsselwort „return“ unterbricht die forEach()-Methode nicht, fungiert aber als Fortsetzungsschlüsselwort, wenn die Bedingung wahr ist.
Eine andere Möglichkeit, die Ausführung der forEach()-Schleife zu stoppen, ist die Verwendung einer Try-Catch-Anweisung. Wenn wir die Ausführung der forEach()-Methode stoppen möchten, können wir einen Fehler auslösen. Darüber hinaus können wir Fehler in einem „catch“-Block abfangen. Wir können jeden Code ausführen, den wir nach der forEach()-Methode im „finally“-Block ausführen müssen.
Benutzer können die try-catch-Anweisung gemäß der folgenden Syntax verwenden, um die forEach()-Methode zu stoppen.
try { array.forEach((ele) => { if (condition) { throw new Error("Break the loop.") } }) } catch (error) { }
In der obigen Syntax haben wir das Schlüsselwort throw verwendet, um die Ausnahme auszulösen und die forEach()-Methode zu unterbrechen.
Die chinesische Übersetzung vonIm folgenden Beispiel haben wir die Methode forEach() mit einer Try-Catch-Anweisung verwendet. In der Rückruffunktion der forEach()-Methode prüfen wir den Elementtyp und geben einen Fehler aus, wenn wir ein Element vom Typ „Zahl“ finden.
Also wird die Ausführung der forEach()-Methode gestoppt.
<html> <body> <h2>Using the <i>try-catch statement</i> to stop the execution of the forEach() loop.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["Cpp", "c", "Java", "JavaScript", 06, true, 43, false]; try { array.forEach((ele) => { if (typeof ele == "number") { throw new Error("Break the loop.") } output.innerHTML += "Element value is " + ele + "<br/>"; }) } catch (error) { output.innerHTML += "Exception thrown from the forEach loop. " + error; } </script> </body> </html>
In der obigen Ausgabe können Benutzer beobachten, dass das Drucken der Elemente gestoppt wird, nachdem das Element vom Typ „Zahl“ im Array gefunden wurde.
Die beste Lösung, um die Ausführung der forEach()-Methode zu stoppen, besteht darin, die forEach()-Schleife durch eine normale for-Schleife zu ersetzen und die Ausführung mit dem Schlüsselwort break zu stoppen.
Benutzer können der folgenden Syntax folgen, um die for-Schleife mit dem Schlüsselwort break zu verwenden.
for ( ){ if (condition) { break; } }
In der obigen Syntax verwenden wir das Schlüsselwort break, um die Ausführung der for-Schleife zu stoppen, wenn eine bestimmte Bedingung wahr wird.
Die chinesische Übersetzung vonIm folgenden Beispiel haben wir ein Array definiert, das verschiedene Werte enthält. Wir verwenden eine normale for-Schleife, um das Array zu durchlaufen, und wenn der Wert des Arrays größer als 30 ist, verwenden wir das Schlüsselwort break, um die Ausführung der for-Schleife zu stoppen.
<html> <body> <h2>Using the normal for-loop with break keyword to stop the execution of for-loop. </h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let arrayElements = [10, 20, 30, 40, 50, 60, 70, 80, 90]; output.innerHTML += "Some array elements are " for (let k = 0; k < arrayElements.length; k++) { if (arrayElements[k] > 30) { break; } output.innerHTML += arrayElements[k] + " , "; } </script> </body> </html>
Methode. Die erste Methode unterbricht die Schleife nicht, sondern fungiert als „continue“-Anweisung. Die zweite Methode verwendet eine Try-Catch-Anweisung, um die forEach()-Methode zu unterbrechen. In der tatsächlichen Entwicklung können wir keine Fehler auslösen, um die forEach()-Schleife zu unterbrechen. Daher werden die erste und zweite Methode nicht empfohlen.
In der dritten Methode ersetzen wir die forEach()-Methode durch eine normale for-Schleife und verwenden das Schlüsselwort break. Die dritte Methode funktioniert gut, aber eine normale for-Schleife kann beim Durchlaufen der Elemente langsamer sein als die forEach()-Methode. Daher können Benutzer auch die Methoden array.some() und array.each() ausprobieren, um die Leistung zu verbessern.
Das obige ist der detaillierte Inhalt vonWie kann ich die forEach()-Methode in JavaScript stoppen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!