【发布时间】:2012-03-24 06:57:05
【问题描述】:
我有一个非常简单的 D3 示例,它首先将数据读入关联数组,然后将其显示在条形图中。
不过,我似乎无法使用此方法显示任何内容。相反,我必须在两者之间插入一个任务:将数据读入关联数组,将该数据复制到一个简单数组中,然后使用该简单数组显示条形图。
chart.selectAll("div")
.data(genreAssociative)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
上述方法不起作用。
genreSimple = [];
for (var genre in genreAssociative) genreSimple.push(genreAssociative[genre]);
chart.selectAll("div")
.data(genreSimple)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
以上内容;使用一个简单的数组作为中介。有没有一种特殊的方法来迭代关联数组而不是标准数组?
【问题讨论】:
-
从包含的信息中可以看出,chart.data 函数不接受 javascript 对象(又名“关联数组”)。如果是这种情况,那么您别无选择,只能转换为数组。
-
它们在 JavaScript 中不称为关联数组。我倾向于挂断这个术语,因为通常使用关联数组的人会将其声明为数组,例如 PHP。
标签: javascript d3.js associative-array