Bei der Arbeit mit JavaScript-Objektarrays können Sie auf doppelte Schlüssel stoßen, die ähnliche Entitäten darstellen. Um diese Duplikate zu konsolidieren und ihre entsprechenden Werte zu aggregieren, können Sie den folgenden Ansatz nutzen:
let 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} ]; // Utilize a Map to consolidate duplicate keys let counts = objArr.reduce((prev, curr) => { let count = prev.get(curr.key) || 0; prev.set(curr.key, curr.val + count); return prev; }, new Map()); // Convert the Map back to an array let reducedObjArr = [...counts].map(([key, value]) => { return {key, value} }) console.log(reducedObjArr);
Diese Lösung nutzt eine Karte, um mit doppelten Schlüsseln verknüpfte Werte zu akkumulieren. Es durchläuft das ursprüngliche Array und extrahiert den Schlüssel und Wert jedes Objekts. Wenn der Schlüssel bereits in der Map vorhanden ist, erhöht er seinen entsprechenden Wert. Schließlich wird die Karte wieder in ein Array von Objekten umgewandelt und liefert das gewünschte Ergebnis.
Das obige ist der detaillierte Inhalt vonWie füge ich doppelte Schlüssel zusammen und summiere ihre Werte in JavaScript-Objektarrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!