JavaScript reduce()Methode
Beispiel
Berechnen Sie die Gesamtsumme der Array-Elemente:
var numbers = [65, 44, 12, 4];
function getSum(total, num) {
return total + num;
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum);
}
Ausgabe:
125
Selbst ausprobieren »
Definition und Verwendung
Die reduce()-Methode empfängt eine Funktion als Akkumulator. Jeder Wert im Array (von links nach rechts) wird reduziert und schließlich zu einem einzelnen Wert zusammengerechnet.
reduce() kann als Funktion höherer Ordnung für die Funktionskomposition verwendet werden.
Hinweis:reduce() führt die Callback-Funktion für ein leeres Array nicht aus.
Browser-Unterstützung
Die Zahlen in der Tabelle geben die erste Browser-Versionsnummer an, die die Methode unterstützt.
| Methode | |||||
|---|---|---|---|---|---|
| reduce() | Ja | 9.0 | 3.0 | 4 | 10.5 |
Syntax
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
Parameters
| Parameter | Beschreibung | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| function(total,currentValue, index,arr) | Erforderlich. Eine Funktion, die für jedes Array-Element ausgeführt wird. Funktionsparameter:
|
||||||||||
| initialValue | Optional. Der Anfangswert, der an die Funktion übergeben wird |
Technische Details
| Rückgabewert: | Gibt das Berechnungsergebnis zurück |
|---|---|
| JavaScript-Version: | ECMAScript 3 |
Weitere Beispiele
Beispiel
Berechnen Sie die Gesamtsumme der Array-Elemente nach dem Runden:
<button onclick="myFunction()">Klick mich</button>
<p>Summe der Array-Elemente:<span id="demo"></span></p>
<script>
var numbers = [15.5, 2.3, 1.1, 4.7];
function getSum(total, num) {
return total + Math.round(num);
}
function myFunction(item) {
document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
}
</script>
Selbst ausprobieren »
Andere Erweiterungen
JavaScript Array-Objekt