我有一个简单的问题。这是我的代码:
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”的列。
是否可以在此调用中在此代码上方定义我的年份变量,而不是对列名称中的单词“值”进行硬编码?
我想使用该变量,因为这样我就可以通过一次更改来更改它。
我尝试过 return d.year 但这显然会查找名为“year”的列,而不是名为“year”的变量。
谢谢。
最佳答案
使用括号语法:
var year = "state";
// ...
.domain([
d3.min(data, function(d) { return d[ year ]; }),
d3.max(data, function(d) { return d[ year ]; })
]);
d.year
引用属性 year
,因为它只是一个标识符。
如果您想引用变量year
并使用其内容作为标识符,则必须使用括号语法。
关于javascript - 可以将定义的变量放入数组调用中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20122570/