Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Seit March 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die reduce()-Methode von Iterator-Instanzen ähnelt Array.prototype.reduce: Sie führt eine benutzerdefinierte "Reducer"-Callback-Funktion für jedes vom Iterator erzeugte Element aus und übergibt dabei den Rückgabewert der Berechnung des vorhergehenden Elements. Das Endergebnis des Reducers über alle Elemente ist ein Einzelwert.
Eine Funktion, die für jedes vom Iterator erzeugte Element ausgeführt wird. Ihr Rückgabewert wird zum Wert des accumulator-Parameters beim nächsten Aufruf von callbackFn. Beim letzten Aufruf wird der Rückgabewert der Rückgabewert von reduce(). Die Funktion wird mit den folgenden Argumenten aufgerufen:
accumulatorDer Wert, der sich aus dem vorherigen Aufruf von callbackFn ergibt. Beim ersten Aufruf entspricht sein Wert initialValue, falls letzterer angegeben ist; andernfalls entspricht sein Wert dem ersten Element des Iterators.
currentValueDer Wert des aktuellen Elements. Beim ersten Aufruf entspricht sein Wert dem ersten Element des Iterators, falls initialValue angegeben ist; andernfalls entspricht sein Wert dem zweiten Element.
currentIndexDie Indexposition von currentValue. Beim ersten Aufruf entspricht sein Wert 0, wenn initialValue angegeben ist, andernfalls 1.
initialValue OptionalEin Wert, auf den accumulator beim ersten Aufruf des Callbacks initialisiert wird. Wenn initialValue angegeben wird, beginnt callbackFn mit dem ersten Element als currentValue auszuführen. Ist initialValue nicht angegeben, wird accumulator auf das erste Element initialisiert, und callbackFn beginnt mit dem zweiten Element als currentValue zu arbeiten. In diesem Fall wird ein Fehler ausgelöst, wenn der Iterator leer ist (sodass kein erster Wert als accumulator zurückgegeben werden kann).
Der Wert, der sich ergibt, nachdem die "Reducer"-Callback-Funktion über den gesamten Iterator vollständig ausgeführt wurde.
Wird ausgelöst, wenn der Iterator keine Elemente enthält und initialValue nicht angegeben ist.
Siehe Array.prototype.reduce() für Details, wie reduce() arbeitet. Im Gegensatz zu den meisten anderen Hilfsmethoden für Iteratoren funktioniert es nicht gut mit unendlichen Iteratoren, da es nicht lazy ist.
Im folgenden Beispiel wird ein Iterator erstellt, der Begriffe der Fibonacci-Folge erzeugt und dann die ersten zehn Begriffe summiert:
| ECMAScript® 2027 Language Specification # sec-iterator.prototype.reduce |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.