D3 JavaScript返回数据值加上匿名函数的变量

时间:2014-05-22 20:50:53

标签: javascript d3.js

我有一个D3功能,我想根据用户选择返回一个特定的数据元素。

例如:

var selected = this.value;

line.y(function(d) { return d.selected; });

selected变量将是真实元素名称的占位符。

上面的代码块不起作用,但我想知道其他一些构造是否有效。我已经尝试了其他几种没有运气的组合,包括return d. + selected

可行的替代方案是case语句或许多if / else语句,例如:

if(selected === "element1") {
    return d.element1;
}
else {
    return d.element2;
}

我宁愿避免这种情况,因为有很多不同的选择。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用:

line.y(function(d) { return d[selected]; });

这与D3的JavaScript语法无关:

d.element1
d['element1']

var key = 'element1';
d[key]

所有访问相同的属性。