Wie würde man eine Javascript-Array von Objekten nehmen wie:Sum Javascript Objekt propertyâ Werte mit demselben Objekt propertyB in Array von Objekten
my 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}]
und Nachschlüssel fusionieren, indem die Werte summiert werden. Um so etwas zu bekommen:
my 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}]
Ich habe versucht, und in ein neues Array Hinzufügen laufen, aber das hat nicht funktioniert:
var reducedObjArr = [];
var item = null, key = null;
for(var i=0; i<objArr.length; i++) {
item=objArr[i];
key = Object.keys(item)[0];
item=item[key];
if(!result[key]){
result[key] = item;
}else{
result[key] += item;}
}a
Warum tun Sie 'key = Object.keys (Artikel) [0]; item = Gegenstand [Schlüssel]; '? Sie wissen bereits, dass der Name 'key' ist, also tun Sie einfach' item.key' oder 'objArr [i] .key'. Wenn Sie den Index "[0]" verwenden, erhalten Sie nicht immer die gleiche Eigenschaft. – user2736012