我想动态地从外部json数组中检索键,并在生成条形图的d3js函数中使用它们。这是json代码。
[
{
"Interns": 5,
"Projects": 10,
"Time":"Jan"
},
{
"Interns": 16,
"Projects": 20,
"Time":"Feb"
}
]
我想检索所有键并在d3函数中使用它们,这些函数使用数据在条形图中绘制条形。下面,我写了一个示例d.Time
,但是如果我不知道自己曾经使用过什么键,该怎么办给定的?
x.domain(data.map(function(d) { return d.Time; }));
这是我尝试的方法,此函数将密钥存储在数组mykeys
中。 data
中的getKeys(data)
引用了d3.json()
函数中的参数
var getKeys = function(arr) {
var key, keys=[];
for(var i=0; i< (arr.length - (arr.length - 1)); i++) {
for(key in arr[i]) {
keys.push(key);
}
}
return keys;
}
var myKeys = getKeys(data); // Gives ["Interns","Projects","Time"]
现在,如果我使用console.log
mykeys [2],它将显示Time
,但是当我在上述域函数中使用d.mykeys[2]
时,它似乎不起作用?
为什么这样 ???请帮忙!
答案 0 :(得分:2)
您正在尝试通过字符串的名称访问d
属性。 mykeys[2]
保留该字符串(“时间”),因此应为d[mykeys[2]]
,它等于d["Time"]
,而后者又等于d.Time ...