Heim >Web-Frontend >js-Tutorial >JavaScript-Array-reduce()-Methode

JavaScript-Array-reduce()-Methode

王林
王林Original
2024-08-28 06:05:021023Durchsuche

JavaScript Array reduce() Method

Hallo! In diesem Blog erfahren Sie mehr über die „Reduce-Methode“ und deren Verwendung in JavaScript. Also, fangen wir an.

Reduce ist eine der Array-Methoden in JavaScript. Es verwendet ein Array als Eingabe und gibt einen einzelnen Wert zurück. Die Reduzierungsmethode ist nützlich, wenn Sie jedes Element eines Arrays verarbeiten und einen gemeinsamen Wert basierend auf der bereitgestellten Rückruffunktion aktualisieren möchten.

Lassen Sie uns tiefer eintauchen:
Reduzieren benötigt zwei Argumente:

  1. Rückruffunktion
  2. Startpunkt (Anfangswert), nennen wir ihn „Ergebnis“ (*Optional)

Es beginnt mit dem ersten Element des Arrays, übergibt es an die Callback-Funktion und speichert das Ergebnis in „result“. Nach der Verarbeitung des letzten Elements wird das endgültige „Ergebnis“ zurückgegeben.

*Optional:

Wenn das Array leer ist und kein Anfangswert bereitgestellt wird, löst Reduce einen TypeError aus, da kein Element vorhanden ist, das als Anfangsakkumulator dienen kann.

Wenn das Array nur ein Element hat und kein Anfangswert angegeben ist, gibt „reduce“ dieses einzelne Element zurück, ohne den Rückruf aufzurufen.

Beispiele:
Diese Beispiele helfen Ihnen zu verstehen, wie und wo Sie die Reduzierungsmethode verwenden. Fragen können Sie gerne in den Kommentaren stellen.

Einfach:
F. Summiere die Elemente eines gegebenen Arrays.

Lösung mit Reduktionsmethode.

const arr = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumofArray = arr.reduce(
  (result, element) => result + element,
  initialValue,
);

console.log(sumofArray);
// Expected output: 10

Erklärung:
Das Ergebnis wird zunächst Null sein, da wir Null als zweites Argument angegeben haben. Dann wird für jedes Element das Element zum Ergebnis hinzugefügt und schließlich wird der endgültige Ergebniswert zurückgegeben.

Mittel:

Dieses Beispiel stammt von: https://leetcode.com/problems/flatten-deeply-nested-array/description/

F. Geben Sie bei einem gegebenen mehrdimensionalen Array arr und einer Tiefe n eine abgeflachte Version dieses Arrays zurück.

Ein mehrdimensionales Array ist eine rekursive Datenstruktur, die Ganzzahlen oder andere mehrdimensionale Arrays enthält.

Ein abgeflachtes Array ist eine Version dieses Arrays, bei der einige oder alle Unterarrays entfernt und durch die tatsächlichen Elemente in diesem Unterarray ersetzt wurden. Dieser Reduzierungsvorgang sollte nur durchgeführt werden, wenn die aktuelle Verschachtelungstiefe weniger als n beträgt. Die Tiefe der Elemente im ersten Array wird mit 0 angenommen.

Lösung mit Reduce-Methode:

function flattenArray(arr, depth) {
    if(depth===0) return arr;
    return arr.reduce((result,element) => {
       if(Array.isArray(element)&&depth>0) {
          result.push(...flattenArray(element, depth-1));
       } else {
          result.push(element); 
       }
       return result;
   }, []);
}

Erklärung:
Wenn die Tiefe Null ist, müssen wir nichts tun. Ansonsten verwenden wir Rekursion und den Spread-Operator, um die Elemente zum Ergebnis hinzuzufügen.

Das ist es! Ich hoffe, Sie haben die Reduzierungsmethode gut kennengelernt.

Referenzen:
Array.prototype.reduce() von MDN

Das obige ist der detaillierte Inhalt vonJavaScript-Array-reduce()-Methode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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