Heim > Web-Frontend > js-Tutorial > Wie gruppiere und summiere ich ein Array von Objekten nach einer Eigenschaft mit jQuery?

Wie gruppiere und summiere ich ein Array von Objekten nach einer Eigenschaft mit jQuery?

Linda Hamilton
Freigeben: 2024-11-17 07:51:03
Original
550 Leute haben es durchsucht

How to Group and Sum an Array of Objects by a Property Using jQuery?

Gruppieren und Summieren eines Arrays von Objekten nach einer Eigenschaft

Problem

Bei einem gegebenen Array von Objekten besteht Ihr Ziel darin, sie nach einer bestimmten Eigenschaft zu gruppieren B. Id, und berechnen Sie die Summe einer anderen Eigenschaft, z. B. qty, für jede Gruppe mithilfe von jQuery.

Beispiel

Betrachten Sie das folgende Eingabearray:

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

Die gewünschte Ausgabe ist:

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

Lösung

Um das Array nach ID zu gruppieren und die Mengenwerte für jede Gruppe mithilfe von jQuery zu summieren, können Sie den folgenden Ansatz verwenden:

$(array).groupBy('Id').reduce(function (res, obj) {
  return res + obj.qty;
}, 0);
Nach dem Login kopieren

Hier ist eine Aufschlüsselung der Lösung:

  • groupBy-Plugin von jQuery: Dieses Plugin gruppiert das Array von Objekten basierend auf der angegebenen Eigenschaft Id. Es gibt ein Objekt mit Eigenschaftsschlüsseln zurück, die den eindeutigen ID-Werten entsprechen.
  • Reduzierungsmethode von jQuery: Diese Methode durchläuft das gruppierte Objekt und wendet die angegebene Rückruffunktion an, um die Summe der Mengenwerte zu berechnen für jede Gruppe. In diesem Fall fügt die Callback-Funktion einfach die qty-Eigenschaft jedes Objekts zum Akkumulator hinzu.

Das obige ist der detaillierte Inhalt vonWie gruppiere und summiere ich ein Array von Objekten nach einer Eigenschaft mit jQuery?. 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