D3JavaScript从匿名函数返回数据值加变量

D3JavaScript从匿名函数返回数据值加变量,javascript,d3.js,Javascript,D3.js,我有一个D3函数,我想根据用户选择返回一个特定的数据元素 例如: var selected = this.value; line.y(function(d) { return d.selected; }); 所选的变量将是实际元素名称的占位符 上面的代码块不起作用,但是我想知道其他的构造是否可以起作用。我尝试了其他几种组合,但都没有成功,包括returnd.+已选择 可行的替代方案是一个案例陈述或许多if/else陈述,例如: if(selected === "element1") {

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

例如:

var selected = this.value;

line.y(function(d) { return d.selected; });
所选的
变量将是实际元素名称的占位符

上面的代码块不起作用,但是我想知道其他的构造是否可以起作用。我尝试了其他几种组合,但都没有成功,包括
returnd.+已选择

可行的替代方案是一个案例陈述或许多if/else陈述,例如:

if(selected === "element1") {
    return d.element1;
}
else {
    return d.element2;
}
我宁愿避免这种情况,因为有很多不同的选择

谢谢您的帮助。

您可以使用以下功能:

line.y(function(d) { return d[selected]; });
这与D3无关,它是JavaScript语法:

d.element1
d['element1']

var key = 'element1';
d[key]
所有用户都访问相同的属性