【发布时间】:2011-12-05 07:27:19
【问题描述】:
我正在尝试遍历一组值并将单独的文件(使用 d3.js)读入 javascript 关联数组,但参数未正确传递到内部函数中。例如:
var reg_list = [];
var all_region_data = [];
reg_list[0]="region1";
reg_list[1]="region2";
// Function to read in data from all regions in reg_list.
function read_regional_data(region_list) {
for (i=0;i<reg_list.length;i++) {
region = region_list[i];
console.log("Read data for " + region) // THIS RETURNS REGION1, THEN
// REGION2
all_region_data[region]=new Array()
d3.csv('filepath' + region + '.csv', function(csv){
console.log('reading for ' + region) // THIS RETURNS REGION2 TWICE
csv.map(function(x) {
all_region_data[region].push(x.cause);
})
console.log("Finished Reading Data for " + region)
})
}
}
执行此操作时,我会遍历循环中的两个区域,但 region1 从未传递到 d3.csv 函数中。这可能与异步运行的 d3.csv 有关吗?任何关于如何避免或改善这种情况的想法都值得赞赏。
【问题讨论】:
标签: javascript csv associative-array d3.js