Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich die forEach()-Methode in JavaScript stoppen?

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

WBOY
WBOYnach vorne
2023-08-23 19:53:02983Durchsuche

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.

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; 
   }
});

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>

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) {
}

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>

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;
   }
}

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>

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen