How to take a javascript array of objects such as:
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}]
and combine duplicate keys by summing the values. To get something like this:
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}]
I tried iterating and adding to a new array, but that didn't work:
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
source share