d3.max值未定义

时间:2014-07-24 14:25:24

标签: javascript d3.js

我有一个这样的嵌套数组:

[{"a":1,"b":0,"c":1},{"a":2,"b":1,"c":1},{"a":2,"b":1,"c":1}]

并且我试图找到总数的最大数量,但我得到一个未定义的值,我确保我传递一个数组而不是一个对象,但我仍然没有得到正确的值。

     var max = d3.max(scope.data, function (d) {
            return d.a + d.b + d.c;
        });

我尝试使用d3.values来确保我传入的值是一个数组,但它仍然无法正常工作

2 个答案:

答案 0 :(得分:1)

那将是

return d[0].a + d[0].b + d[0].c;

因为Array中的每个元素都是一个数组,并且其中有一个对象0th索引。

答案 1 :(得分:0)

尝试更换阵列:

[[{"a":1,"b":0,"c":1}],[{"a":2,"b":1,"c":1}],[{"a":2,"b":1,"c":1}]]

用这个:

[{"a":1,"b":0,"c":1},{"a":2,"b":1,"c":1},{"a":2,"b":1,"c":1}]

因为每个数组子节点只有一个json对象,为什么要将它放在某个数组[]