Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Reduktionsmethode von Arrays in JavaScript

Detaillierte Erläuterung der Reduktionsmethode von Arrays in JavaScript

高洛峰
高洛峰Original
2016-12-28 09:35:081470Durchsuche

Einführung

Werfen wir zunächst einen Blick auf die offizielle Übersicht dieser Methode: Die Methode Reduce () empfängt eine Funktion als Akkumulator (Akkumulator) und jeden Wert im Array (von links nach rechts). beginnt sich zu verringern, Endlich ein Wert.

Sie müssen wie ich ein wenig verwirrt sein. Tatsächlich erhält Reduce eine Rückruffunktion, um jedes Element im Array bis zum Ende des Arrays aufzurufen.

Lassen Sie uns ein Beispiel geben, damit jeder es klar verstehen kann.

Angenommen, ich habe eine Reihe von Arrays und die Arrays sind alle Zahlen. Ich möchte die Summe dieser Zahlen berechnen. Normalerweise würden wir eine Schleife nach der anderen durchführen. Mit der Reduzierung müssen wir uns nicht so viel Mühe machen. Wir verwenden nur eine Codezeile.

var total = [0,1,2,3,4].reduce((a, b)=>a + b); //10

Wie funktioniert diese Methode?

reduce akzeptiert eine Funktion, die vier Parameter hat, nämlich:

1. Der letzte Wert

3. Der aktuelle Wert; Index des aktuellen Werts;

4. Array;

Nehmen wir das obige Array als Beispiel und drucken wir diese Parameter aus:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
});

Das erhaltene Ergebnis ist:

Detaillierte Erläuterung der Reduktionsmethode von Arrays in JavaScriptBei der Analyse dieses Ergebnisses wurde diese Rückruffunktion insgesamt viermal aufgerufen, da die erste Diesmal gibt es keinen previousValue , es beginnt also direkt beim zweiten Element des Arrays und ruft das Ende des Arrays auf.

reduce hat auch einen zweiten Parameter. Wir können diesen Parameter als ersten Parameter verwenden, wenn wir den Rückruf zum ersten Mal aufrufen. Da es im obigen Beispiel keinen zweiten Parameter gibt, wird er direkt vom zweiten Element abgerufen des Arrays. Wenn wir zu Beginn den zweiten Parameter 5 angeben, sieht das Ergebnis wie folgt aus:

[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array){
 return previousValue + currentValue;
},5);

Der Wert von previousValue used for Beim ersten Mal wird anstelle des zweiten übergebenen Parameters die Funktion fünfmal aufgerufen, was der Länge des Arrays entspricht.

Reduzieren kann uns helfen, viele Dinge einfach zu erledigen. Zusätzlich zur Akkumulation wird auch eine zweidimensionale Anordnung abgeflacht:

var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
 return a.concat(b);
}, []);
// flattened == [0, 1, 2, 3, 4, 5]

Zusammenfassung

Das sind die beiden am häufigsten verwendeten, die mir im Moment einfallen, aber es muss viele Orte geben, an denen sie verwendet werden können. Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit von Nutzen sein kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen.

Ausführlichere Artikel zur Reduziermethode von Arrays in JavaScript finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn