尝试以动态方式引用数组时遇到问题。我不会事先知道我的用户将选择哪个字段,因此我想对数组进行动态选择。我希望我可以将字段存储在变量中,然后使用此变量指定我想从数组中找到哪个字段。
我举了一个简单的例子来说明我的问题。
如果我像这样访问数组:
console.log('static: ' + nested_data[0].values[0].cat);
然后返回' a'这是我的预期,但如果我这样做:
console.log('dynamic :' + nested_data[0].values[0].label);
其中label是变量,然后我得到#undefined'。
任何人都知道我做错了什么。
// Some Sample data
var data = [
{ value: 01, cat:'a'},
{ value: 40, cat:'a'},
{ value: 80, cat:'b'},
{ value: 120, cat:'b'}
];
//Nest the data on 'cat'
var nested_data = d3.nest()
.key(function(d) { return d.cat; })
.entries(data);
//Print the value of the data[0].values[0].cat
console.log('static: ' + nested_data[0].values[0].cat);
//Dynamic, create a variable to hold the parameter I want to refrence
var label = 'cat';
//Pass the variable to the array
console.log('dynamic :' + nested_data[0].values[0].label);
答案 0 :(得分:0)
您可以使用括号表示法:
console.log('dynamic :' + nested_data[0].values[0][label]);