JavaScript 计算嵌套对象中的值

标签 javascript json loops object

我有一个看起来像这样的对象:

{
  "Boiler Emissions": {
                        "Manhattan": 2.7,
                        "Bronx": 3.2
                      },
  "Benzene Concentration": {
                             "Manhattan": 2.1,
                             "Bronx": 3.5
                           }
}

我想计算两个子对象中的 ManhattanBronx 的值,并获得如下所示的结果:

{
 "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/

相关文章:

javascript - 联系表单组件的 Joomla Ajax 加载

JAVA - 如何在二维数组的行和列中查找重复值?

javascript - Web 应用程序国际化,是服务器端还是客户端?

javascript - 将命令行参数传递给 emscripten 生成的应用程序

javascript - 在哪里可以获得将法定货币金额转换为加密货币值(value)的加密 API

python - 如何以多线程方式将 Python Dict 转换为 JSON

python - Json 显然因运行 Python 代码而损坏

iphone - 如何在 iPhone 的 Objective-C 中将 Google Directions API 折线字段解码为纬度长点?

r - 帮助加速 R 中的循环

java - For 和 While 循环