Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie summiert man Werte ähnlicher Schlüssel in JavaScript-Objekten effizient?

Barbara Streisand
Freigeben: 2024-11-23 04:17:13
Original
131 Leute haben es durchsucht

How to Efficiently Sum Values of Similar Keys in JavaScript Objects?

Werte ähnlicher Objektschlüssel summieren

Wie können Sie bei einem Array von JavaScript-Objekten die mit ähnlichen Schlüsseln verbundenen Werte effektiv summieren?

Ansatz

Um dies zu erreichen, können wir Folgendes anwenden Schritte:

  1. Erstellen Sie ein Holder-Objekt: Durchlaufen Sie das ursprüngliche Array und füllen Sie ein Objekt, Holder, mit den Namenseigenschaften als Schlüssel. Initialisieren Sie für jeden Schlüssel den Wert auf den entsprechenden Wert oder fügen Sie den Wert zum vorhandenen Wert hinzu, wenn der Schlüssel bereits vorhanden ist.
  2. Erstellen Sie ein neues Array: Sobald Sie das Halterobjekt haben, erstellen Sie es ein neues Array, obj2, durch Iteration über seine Eigenschaften. Erstellen Sie für jede Eigenschaft ein Objekt mit dem Namensschlüssel und der Summe der Werte als Wert.

Beispiel

Betrachten Sie das Beispielarray:

var obj = [
  { 'name': 'P1', 'value': 150 },
  { 'name': 'P1', 'value': 150 },
  { 'name': 'P2', 'value': 200 },
  { 'name': 'P3', 'value': 450 }
];
Nach dem Login kopieren

Anwenden des oben genannten Ansatzes:

// Create a holder object to sum values for similar names
var holder = {};
obj.forEach(function(d) {
  if (holder.hasOwnProperty(d.name)) {
    holder[d.name] = holder[d.name] + d.value;
  } else {
    holder[d.name] = d.value;
  }
});

// Populate a new array with the summed values
var obj2 = [];
for (var prop in holder) {
  obj2.push({ name: prop, value: holder[prop] });
}

// Output the result
console.log(obj2);
Nach dem Login kopieren

Erwartete Ausgabe:

[
  { 'name': 'P1', 'value': 300 },
  { 'name': 'P2', 'value': 200 },
  { 'name': 'P3', 'value': 450 }
]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie summiert man Werte ähnlicher Schlüssel in JavaScript-Objekten effizient?. 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