-2
我想总结两个对象为一个总体对象,并获得两个值的百分比变化(然后除以值的数量)。我在应用这个逻辑时遇到了一些问题。数据是动态的,因此同一个数组中可能有两个以上的对象。JavaScript - 合并/合并数组中的多个对象
我的首选方法是JavaScript,但如果它更简单,jQuery也是完美的!下面是一个例子,这里是一个的jsfiddle - http://jsfiddle.net/4z63cwhz/4/
响应数据:
$scope.data = [
{
"July":{
"params":{
"frequency":"Monthly",
"category":"Overview",
"year":"2015",
"month":"July"
},
"subcategory":{
"us total":{
"interaction rate":0.51,
"digital interaction rate":8.33,
"impressions":500,
"interactions":256
},
"discover me":{
"digital u.s. discover site sessions":50
},
"me com":{
"total me.com site sessions":50
}
},
"action":"new"
},
"August":{
"params":{
"frequency":"Monthly",
"category":"Overview",
"year":"2015",
"month":"August"
},
"subcategory":{
"us total":{
"interaction rate":0.51,
"digital interaction rate":8.33,
"impressions":500,
"interactions":256
},
"discover me":{
"digital u.s. discover site sessions":50
},
"me com":{
"total me.com site sessions":50
}
},
"action":"new"
}
}
]
JS:
$scope.calculate = function(){
var sumObj = {};
var local = $scope.data;
for(var i in local){
var obj = local[i];
for(var i2 in obj){
for(var i3 in obj[i2].subcategory){
//do the calculation here.
console.log(i3);
}
}
}
};
的sumObj
我希望能得到将类似于如下:
{
"us total":{
"interaction rate":{
total: total#,
'%change': %change
},
"digital interaction rate":{
total: total#,
'%change': %change
},
"impressions":{
total: total#,
'%change': %change
},
"interactions":{
total: total#,
'%change': %change
}
},
"discover me":{
"digital u.s. discover site sessions":{
total: total#,
'%change': %change
}
},
"me com":{
"total me.com site sessions":{
total: total#,
'%change': %change
}
}
}
在此先感谢!
目前尚不清楚你要添加什么。请显示您想要添加的两个(或更多)对象的示例以及最终输出应该是什么样子。 –
英里,请看看jsfiddle。两个对象的例子是响应数据,最终输出是sumObj。我已经包括了它的样子。还包括在jsfiddle中 - http://jsfiddle.net/4z63cwhz/5/ – habibg
您需要简化问题以减少人们花在理解问题上的时间。我建议你删除所有不想添加的元素,并用实际结果更新sumObj。 –