我有一个看起来像这样的对象:
{
"Boiler Emissions": {
"Manhattan": 2.7,
"Bronx": 3.2
},
"Benzene Concentration": {
"Manhattan": 2.1,
"Bronx": 3.5
}
}
我想计算两个子对象中的 Manhattan
和 Bronx
的值,并获得如下所示的结果
:
{
"Manhattan": 4,8,
"Bronx": 6,7
}
如何计算这些嵌套值?
最佳答案
您只需使用 Object.keys()
循环对象的键并构造您的 result
对象。
这就是您的代码:
var result = {Manhattan: 0, Bronx: 0};
Object.keys(obj).forEach(function(k){
result.Manhattan += obj[k].Manhattan ? obj[k].Manhattan : 0;
result.Bronx+= obj[k].Bronx ? obj[k].Bronx: 0;
});
演示:
这是一个工作演示:
var obj = {
"Boiler Emissions": {
"Manhattan": 2.7,
"Bronx": 3.2
},
"Benzene Concentration": {
"Manhattan": 2,
"Bronx": 3.5
}
};
var result = {Manhattan: 0, Bronx: 0};
Object.keys(obj).forEach(function(k){
result.Manhattan += obj[k].Manhattan ? obj[k].Manhattan : 0;
result.Bronx+= obj[k].Bronx ? obj[k].Bronx: 0;
});
console.log(result);
关于JavaScript 计算嵌套对象中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44671132/