可以在数组调用中放置定义的变量

时间:2013-11-21 13:41:25

标签: javascript

我有一个简单的问题。这是我的代码:

d3.csv("test1.csv", function(data) {



            var year = "state";


        .domain([
                d3.min(data, function(d) { return d.value; }), 
                d3.max(data, function(d) { return d.value; })
            ]);

我在这里查询csv文件。 d3.min和max使用“return d.value;”返回名为“value”的coloumn。

是否可以在此调用中将此年份变量定义在此代码之上,而不是从列名称中硬编码“value”一词?

我想使用变量,因为我可以通过一次更改来改变它。

我已经尝试过返回d.year,但这显然会找到一个名为year的列而不是我的变量year。

谢谢。

1 个答案:

答案 0 :(得分:3)

使用括号语法:

var year = "state";
// ...
.domain([
  d3.min(data, function(d) { return d[ year ]; }), 
  d3.max(data, function(d) { return d[ year ]; })
]);

d.year引用属性year,因为它只是一个标识符。

如果要引用变量year并因此使用其内容作为标识符,则必须使用括号语法。