【发布时间】:2013-10-14 12:35:51
【问题描述】:
如何获取一个 javascript 对象数组,例如:
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}]
并通过对值求和来合并重复的键。 为了得到这样的东西:
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}]
我已经尝试迭代并添加到一个新数组,但这不起作用:
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
【问题讨论】:
-
你为什么要
key = Object.keys(item)[0]; item=item[key];?您已经知道名称是key,所以只需使用item.key或objArr[i].key。此外,使用[0]索引不一定总是给您相同的属性。 -
感谢寻找相同的,,
标签: javascript arrays json object reduce