D3JS动态访问数组的元素

时间:2014-02-06 15:27:36

标签: jquery arrays

尝试以动态方式引用数组时遇到问题。我不会事先知道我的用户将选择哪个字段,因此我想对数组进行动态选择。我希望我可以将字段存储在变量中,然后使用此变量指定我想从数组中找到哪个字段。

我举了一个简单的例子来说明我的问题。

如果我像这样访问数组:

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); 

1 个答案:

答案 0 :(得分:0)

您可以使用括号表示法:

console.log('dynamic :' + nested_data[0].values[0][label]);