Heim >Web-Frontend >js-Tutorial >Wie summiere ich Objekteigenschaftswerte mit gemeinsam genutzten Schlüsseln in JavaScript?

Wie summiere ich Objekteigenschaftswerte mit gemeinsam genutzten Schlüsseln in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-14 17:18:18255Durchsuche

How to Sum Object Property Values with Shared Keys in JavaScript?

Objekteigenschaftswerte mit gemeinsamen Schlüsseln in JavaScript summieren

Betrachten Sie das folgende JavaScript-Array von Objekten:

const objArr = [
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 42},
    {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78},
    {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23},
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 54}, // Duplicate key
];

Das Ziel besteht darin, doppelte Schlüssel zusammenzuführen, indem ihre entsprechenden Val-Werte summiert werden, was zu einem Array wie folgt führt Dies:

const reducedObjArr = [
    {key: "Mon Sep 23 2013 00:00:00 GMT-0400", val: 96},
    {key: "Mon Sep 24 2013 00:00:00 GMT-0400", val: 78},
    {key: "Mon Sep 25 2013 00:00:00 GMT-0400", val: 23},
];

Um dies zu erreichen, kann eine robuste Lösung verwendet werden, die die Reduce- und Map-Methoden verwendet:

let counts = objArr.reduce((prev, curr) => {
  let count = prev.get(curr.key) || 0;
  prev.set(curr.key, curr.val + count);
  return prev;
}, new Map());

let reducedObjArr = [...counts].map(([key, value]) => {
  return {key, value};
});

Dieser Ansatz erstellt zunächst eine Map mithilfe von Reduce, in der jeder Schlüssel repräsentiert Ein eindeutiger Schlüssel aus dem ursprünglichen Array und der entsprechende Wert ist die Summe aller Val-Werte mit demselben Schlüssel.

Schließlich wird die Map-Methode für die Counts-Map aufgerufen, um sie zu konvertieren zurück in ein Array von Objekten mit den gewünschten zusammengeführten Werten. Die Ausgabe dieses Codes ist reduziertObjArr, das die zusammengeführten und summierten Werte nach Bedarf enthält.

Das obige ist der detaillierte Inhalt vonWie summiere ich Objekteigenschaftswerte mit gemeinsam genutzten Schlüsseln in JavaScript?. 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