【发布时间】:2015-07-15 02:45:14
【问题描述】:
我有一个动态的对象数组,取决于表中行的选择。一个例子:
var obj = [
{ name: "test1", totalCosts: 45560, actualTotalCosts: 652112, riskCosts: 65442 },
{ name: "test2", totalCosts: 3434, actualTotalCosts: 25252, riskCosts: 34234 },
{ name: "test3", totalCosts: 23123, actualTotalCosts: 23242, riskCosts: 0 },
];
生成此数组后,我想调用一个函数,该函数在此数组中再推一行并将其命名为“总计”并将所有受尊重的值相加,如下所示:
{name: "total", totalCosts:72117, actualTotalCosts:700606, riskCosts: 99676 }
obj[0].totalCosts + obj[1].totalCosts + obj[2].totalCosts = obj[3].totalCosts
我尝试用我有限的知识编写一个,但该函数不是总结所有三个对象的值,而是将整个对象总结为一个。
function sum1( obj ) {
var result1 = [];
for (var i = 0; i < obj.length; i++) {
var sum = 0, arr = [];
for (var key in obj[i]) {
if (key != 'name') {
sum += obj[i][key];
arr.push(sum[key]);
}
}
result1.push(arr);
return result1;
}
}
请提供一个函数,可以对所有对象求和并返回包含总数的数组。我也尝试使用 d3.sum 但没有成功。
【问题讨论】:
标签: javascript arrays object d3.js