作为D3.js项目的一部分,我使用HTML选择框选择的值来创建条形图,以显示与对象关联的特定数据字段。我的数据对象包含字段this
和that
。
当我的选择框被更改时,它会调用函数selector
function selector() {
//check what box is selected then call render with either this or that
var selected = "this";
render(selected);
}
然后,在我的函数渲染中,我会根据是否选择“this”或“that”来向条形图执行一些操作。
function render(selectedValue) {
if(selectedValue == "this") {
return data.this;
} else {
return data.that;
}
}
我的渲染函数要复杂得多,而且我有条件语句的多个分支,它们都基本上重复了。当给出字符串“this”时,有没有办法让我访问我的数据方法(即data.this),以便我没有这样一个怪异的if语句?
答案 0 :(得分:2)
您可以使用数据[“this”],或将其传递给变量:
var b = "this";
return data[b];
您的代码看起来像这样:
function render(selectedValue) {
return data[selectedValue];
}