Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die forEach()-Methode von Array Instanzen führt eine bereitgestellte Funktion einmal für jedes Array-Element aus.
Eine Funktion, die für jedes Element im Array ausgeführt wird. Ihr Rückgabewert wird ignoriert. Die Funktion wird mit den folgenden Argumenten aufgerufen:
elementDas aktuelle Element, das im Array verarbeitet wird.
indexDer Index des aktuellen Elements, das im Array verarbeitet wird.
arrayDas Array, bei dem forEach() aufgerufen wurde.
thisArg OptionalEin Wert, der als this beim Ausführen von callbackFn verwendet wird. Siehe iterative Methoden.
Keine (undefined).
Die forEach()-Methode ist eine iterative Methode. Sie ruft eine bereitgestellte callbackFn-Funktion einmal für jedes Element in einem Array in aufsteigender Indexreihenfolge auf. Im Gegensatz zu map() gibt forEach() immer undefined zurück und ist nicht verkettbar. Der typische Anwendungsfall ist die Ausführung von Nebeneffekten am Ende einer Kette. Lesen Sie den Abschnitt über iterative Methoden, um mehr darüber zu erfahren, wie diese Methoden im Allgemeinen funktionieren.
callbackFn wird nur für Array-Indizes aufgerufen, denen Werte zugewiesen sind. Sie wird nicht für leere Felder in dünn besetzten Arrays aufgerufen.
Die forEach()-Methode ist generisch. Sie erwartet nur, dass der this-Wert eine length-Eigenschaft und integer-basierte Eigenschaften hat.
Es gibt keine Möglichkeit, eine forEach()-Schleife zu stoppen oder zu unterbrechen, außer durch das Werfen einer Ausnahme. Wenn Sie ein solches Verhalten benötigen, ist die forEach()-Methode das falsche Werkzeug.
Ein frühzeitiges Beenden kann mit Schleifenanweisungen wie for, for...of und for...in erreicht werden. Array-Methoden wie every(), some(), find(), und findIndex() beenden die Iteration ebenfalls sofort, wenn eine weitere Iteration nicht erforderlich ist.
forEach() erwartet eine synchrone Funktion — es wird nicht auf Promises gewartet. Stellen Sie sicher, dass Sie die Implikationen beim Verwenden von Promises (oder asynchronen Funktionen) als forEach-Callbacks kennen.
Um eine Reihe von asynchronen Operationen sequenziell oder gleichzeitig auszuführen, siehe Promise-Komposition.
Hinweis: Um den Inhalt eines Arrays in der Konsole anzuzeigen, können Sie console.table() verwenden, das eine formatierte Version des Arrays ausgibt.
Das folgende Beispiel veranschaulicht einen alternativen Ansatz, indem es forEach() verwendet.
Der folgende Code protokolliert eine Zeile für jedes Element in einem Array:
Das folgende (konstruiert) Beispiel aktualisiert die Eigenschaften eines Objekts basierend auf jedem Eintrag im Array:
Da der thisArg-Parameter (this) an forEach() übergeben wird, wird er bei jedem Aufruf an callback übergeben. Der Callback verwendet ihn als seinen this-Wert.
Hinweis: Wenn die übergebene Callback-Funktion einen Pfeilfunktausdruck verwendet, könnte der thisArg-Parameter weggelassen werden, da alle Pfeilfunktionen lexikalisch den this Wert binden.
Der folgende Code erstellt eine Kopie eines gegebenen Objekts.
Es gibt verschiedene Möglichkeiten, eine Kopie eines Objekts zu erstellen. Das Folgende ist nur eine Möglichkeit und wird präsentiert, um zu erklären, wie Array.prototype.forEach() funktioniert, indem es Object.*-Utility-Funktionen verwendet.
Das folgende Beispiel ist nur zu Lernzwecken hier. Wenn Sie ein Array mit eingebauten Methoden abflachen möchten, können Sie Array.prototype.flat() verwenden.
Das array-Argument ist nützlich, wenn Sie auf ein anderes Element im Array zugreifen möchten, insbesondere wenn Sie keine vorhandene Variable haben, die auf das Array verweist. Das folgende Beispiel verwendet zuerst filter(), um die positiven Werte zu extrahieren, und verwendet dann forEach(), um seine Nachbarn zu protokollieren.
Die Callback-Funktion wird nicht für den fehlenden Wert bei Index 2 aufgerufen.
Die forEach()-Methode liest die length-Eigenschaft von this und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht-negative Ganzzahl ist, die kleiner als length ist.
| ECMAScript® 2027 Language Specification # sec-array.prototype.foreach |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.