-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。 –