javascript - 评估多维对象中的键值

标签 javascript d3.js

我有一个多维对象,如下所示:

{
 "links": [{"source":"58","target":"john","total":"95"},
           {"source":"60","target":"mark","total":"80"}],
 "nodes": 
          [{"name":"john"}, {"name":"mark"}, {"name":"rose"}]
}

我正在尝试评估“链接”中“总计”的值。我可以在一维数组中执行此操作,如下所示:

for (var i = 0; i < data.length; i++) {
    for (var key in data[i]) {
        if (!isNaN(data[i][key])) {
            data[i][key] = +data[i][key];
        }
    }
};

但我无法弄清楚如何在二维中执行此操作(特别是通过名称调用键“total”的值)。

有人能让我走上正轨吗?谢谢!

最佳答案

从你的数组的结构是这样的原理出发,你可以迭代键和值:

var obj = {
 "links": [{"source":"58","target":"john","total":"95"},
           {"source":"60","target":"mark","total":"80"}],
 "nodes": 
          [{"name":"john"}, {"name":"mark"}, {"name":"rose"}]
};

for (var key in obj){
  obj[key].forEach(function(item){
    for(var subkey in item){
      if (subkey == 'total')
        console.log(item[subkey]);
    };
  });
};

关于javascript - 评估多维对象中的键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40665219/

相关文章:

javascript - 弹出窗口内条形图上的 D3 过渡

javascript - D3 圆形包装透明标签解决方案

javascript - 如何将 backbonejs 应用程序部署到生产服务器。

php - 如何删除 facebook.com 的所有 cookie?

在 Spring 框架中进行用户验证后,Javascript 将不会移动到下一个网页

d3.js - 如何将完整的 d3 TreeMap 导出为 png 或 pdf

javascript - d3/javascript 根据输入过滤数据

javascript - 为什么我需要在 d3.interval 中包含 d3.now()?

javascript - 覆盖 css 不起作用

javascript - jQuery Ajax/.each 回调,下一个 'each' 在 ajax 完成之前触发