HOWTO · JavaScript

Setzen Sie die forEach-Schleife in JavaScript fort

In diesem Artikel erfahren Sie, wie Sie eine forEach-Schleife in JavaScript fortsetzen.

Auf dieser Seite

In diesem Tutorial lernen Sie, wie Sie die forEach-Schleife in JavaScript fortsetzen.

Setzen Sie die forEach-Schleife in JavaScript fort

Die forEach-Schleife ist eine JavaScript-Array-Methode, die eine benutzerdefinierte Callback-Funktion für jedes Element in einem Array ausführt. Nur auf dem Array können Sie die forEach-Schleife verwenden.

Beginnen wir mit einem Beispiel einer forEach-Schleife:

Angenommen, Sie haben ein Zahlenarray mit 5 bis 10 Zahlen. Wie werden Sie den Wert mit der forEach-Schleife drucken?

Sehen Sie sich die Demonstration unten an:

const numb = [5, 6, 7, 8, 9, 10];

numb.forEach((num) => {
  console.log(num);
});

Code ausführen

Ausgang:

5,6,7,8,9,10

Angenommen, Sie möchten etwas anderes tun; Sie möchten alle geraden Elemente in Ihrem numb-Array überspringen. Wie werden Sie dies erreichen?

In dieser Schleife hängst du continue an. Allerdings entsteht ein Problem, wenn Sie continue in einer forEach-Schleife verwenden.

Beginnen wir mit dem Problem:

const numb = [5, 6, 7, 8, 9, 10]

numb.forEach(num => {
  if (num % 2 === 0) {
    continue;
  }
})

Code ausführen

Ausgang:

Uncaught SyntaxError: Illegal continue statement: no surrounding iteration statement

Wie Sie sehen können, führt eine continue-Anweisung innerhalb einer JavaScript-forEach-Schleife zu einem Uncaught SyntaxError. Daher ist die return-Anweisung die bessere Alternative.

Wir haben einen Syntaxfehler erhalten, weil sich die forEach-Schleife eher wie eine Funktion als wie eine Schleife verhält. Aus diesem Grund können Sie nicht weiter daran arbeiten.

Wenn Sie jedoch continue in einer forEach-Schleife verwenden müssen, gibt es eine Option. Ein return kann verwendet werden, um die forEach-Schleife zu verlassen.

Sehen Sie sich den folgenden Code an:

const numb = [5, 6, 7, 8, 9, 10];

numb.forEach((num) => {
  if (num % 2 === 0) {
    return;
  }
  console.log(num);
});

Code ausführen

Ausgang:

5,7,9

Obwohl return verwendet werden kann, um die erforderliche Ausgabe zu erhalten, gibt es eine effizientere Methode. Mit der Funktion filter() können Sie die unerwünschten Werte ganz einfach entfernen.

Beispiel:

const numb = [5, 6, 7, 8, 9, 10];

numb.filter((num) => num % 2 !== 0).forEach((num) => {
  console.log(num);
});

Ausgang:

5,7,9

Abschluss

Um diesen Artikel abzuschließen, können Sie eine continue-Anweisung nicht direkt in einer forEach-Schleife verwenden. Stattdessen ist die return-Anweisung die ideale Lösung.

Wenn Sie die return-Anweisung nicht verwenden können, müssen Sie Ihre forEach-Schleife durch eine for- oder while-Schleife ersetzen, um die continue-Anweisung zu verwenden.