Heim > Web-Frontend > js-Tutorial > Hauptteil

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

Barbara Streisand
Freigeben: 2024-11-17 19:37:01
Original
721 Leute haben es durchsucht

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

So gruppieren und summieren Sie ein Array von Objekten nach Eigenschaften mit jQuery

jQuery bietet leistungsstarke Methoden zur Datenbearbeitung, einschließlich der Möglichkeit, Arrays von Objekten nach gemeinsamen Eigenschaften zu gruppieren und summieren Sie ihre zugehörigen Werte.

Lösung

So erreichen Sie diese Gruppierung und Summierung mit jQuery:

  1. Iterieren Sie mit der Methode .each() über das Array von Objekten .
  2. Überprüfen Sie für jedes Objekt, ob die Id-Eigenschaft bereits im Ergebnisarray vorhanden ist.
  3. Wenn sie vorhanden ist, erhöhen Sie den entsprechenden Mengenwert um den Mengenwert des Objekts.
  4. Andernfalls erstellen Sie ein neues Objekt im Ergebnisarray mit der Id-Eigenschaft und einem Mengenwert, der dem Mengenwert des Objekts entspricht.

Beispielcode

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

var result = [];
$.each(array, function(index, object) {
  if (!$.inArray(object.Id, result)) {
    result.push({ Id: object.Id, qty: 0 });
  }
  $.grep(result, function(value) {
    if (value.Id === object.Id) {
      value.qty += object.qty;
    }
  });
});

console.log(result);
Nach dem Login kopieren

Ausgabe:

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

Das obige ist der detaillierte Inhalt vonWie gruppiere und summiere ich ein Array von Objekten nach Eigenschaften 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