Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie können Sie mit der Reduce-Methode ein Array von Objekten in jQuery gruppieren und summieren?

Patricia Arquette
Freigeben: 2024-11-23 06:17:22
Original
240 Leute haben es durchsucht

How Can You Group and Sum an Array of Objects in jQuery Using the Reduce Method?

Gruppieren und Summieren eines Arrays von Objekten in jQuery: Eine detaillierte Anleitung

Das Gruppieren und Summieren von Werten in einem Array von Objekten ist eine häufige Aufgabe im Programmieren. In jQuery kann dies effizient mit der Methode Reduce() erreicht werden.

Das Ziel verstehen

Das Ziel besteht darin, ein Array von Objekten basierend auf einer bestimmten Eigenschaft zu gruppieren , in diesem Fall die „Id“-Eigenschaft. Sobald die Objekte gruppiert sind, sollte die Menge („Menge“) jeder Gruppe summiert werden.

Schritt-für-Schritt-Lösung

  1. Initialisierung:Erstellen Sie ein leeres Array mit dem Namen „result“, um die gruppierten Objekte zu speichern.
  2. Schleife Durch das Array: Verwenden Sie die Methode Reduce(), um das Array zu durchlaufen. Diese Methode benötigt zwei Funktionen als Parameter:

    • Akkumulatorfunktion: Akkumuliert die Ergebnisse der vorherigen Iterationen. Es wird normalerweise als res oder acc dargestellt.
    • Wertfunktion: Verarbeitet das aktuelle Element im Array. Es wird normalerweise als Wert oder aktueller Wert dargestellt.
  3. Gruppierung: Überprüfen Sie innerhalb der Methode „reduce()“, ob das Akkumulatorobjekt (res) eine Eigenschaft hat, die mit der des aktuellen Objekts übereinstimmt „Id“-Eigenschaft. Wenn nicht, initialisieren Sie ein Objekt mit der aktuellen „Id“ als Eigenschaft und einer „qty“-Eigenschaft, die auf 0 initialisiert ist, und verschieben Sie dieses Objekt in das Ergebnisarray.
  4. Summierung: Aktualisieren Sie die „qty“-Eigenschaft des Akkumulatorobjekts, die der „Id“ des aktuellen Objekts entspricht, indem die „qty“ des aktuellen Objekts hinzugefügt wird value.
  5. Ergebnis zurückgeben: Die Methode Reduce() gibt das endgültige Akkumulatorobjekt zurück. Dieses Objekt stellt das gruppierte und summierte Array von Objekten dar.

Beispielimplementierung

Der folgende jQuery-Codeausschnitt veranschaulicht die oben beschriebenen Schritte:

var array = [
  { Id: "001", qty: 1 },
  { Id: "002", qty: 2 },
  { Id: "001", qty: 2 },
  { Id: "003", qty: 4 }
];

var result = [];
array.reduce(function(res, value) {
  if (!res[value.Id]) {
    res[value.Id] = { Id: value.Id, qty: 0 };
    result.push(res[value.Id])
  }
  res[value.Id].qty += value.qty;
  return res;
}, {});

console.log(result);
Nach dem Login kopieren

Dieser Code gibt das folgende gruppierte und summierte Array von Objekten aus:

[
  { Id: "001", qty: 3 },
  { Id: "002", qty: 2 },
  { Id: "003", qty: 4 }
]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie können Sie mit der Reduce-Methode ein Array von Objekten in jQuery gruppieren und summieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage