Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie kann ich die forEach()-Methode in JavaScript stoppen?

WBOY
Freigeben: 2023-08-23 19:53:02
nach vorne
977 Leute haben es durchsucht

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;
   }
}
Nach dem Login kopieren

Aber wir können das Schlüsselwort „break“ nicht in der forEach()-Methode verwenden.

array.forEach(element => {
   // code
   if( some condition ){
      break;
   }
});
Nach dem Login kopieren

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.

Verwenden Sie das Schlüsselwort „return“

Das Schlüsselwort return stoppt die Ausführung von Code. In der forEach()-Schleife wird es als continue-Anweisung verwendet.

Grammatik

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; 
   }
});
Nach dem Login kopieren

Wenn in der obigen Syntax die Bedingung wahr wird, wird der Code der Rückruffunktion des Elements nicht ausgeführt.

Die chinesische Übersetzung von

Beispiel 1

lautet:

Beispiel 1

Im 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>
Nach dem Login kopieren

Das Schlüsselwort „return“ unterbricht die forEach()-Methode nicht, fungiert aber als Fortsetzungsschlüsselwort, wenn die Bedingung wahr ist.

Stoppen Sie die forEach()-Schleife, indem Sie eine Ausnahme auslösen

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.

Grammatik

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) {
}
Nach dem Login kopieren

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 von

Beispiel 2

lautet:

Beispiel 2

Im 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>
Nach dem Login kopieren

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.

Verwenden Sie ein normales for-Schleifen- und Break-Schlüsselwort

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.

Grammatik

Benutzer können der folgenden Syntax folgen, um die for-Schleife mit dem Schlüsselwort break zu verwenden.

for ( ){
   if (condition) {
      break;
   }
}
Nach dem Login kopieren

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 von

Beispiel 3

lautet:

Beispiel 3

Im 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>
Nach dem Login kopieren

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!