【发布时间】:2016-05-08 06:11:42
【问题描述】:
我知道以前有人问过这个问题,但由于某种原因,他们的解决方案对我不起作用。
我正在尝试使用 CSV 文件中的数据填充两个数组,其中:
name,value
alpha,34
beta,12
delta,49
gamma,89
我现在正在尝试的是
var field1=[];
var field2=[];
d3.csv("data.csv",function(csv){
csv.map(function(d){
field1.push(d.name);
field2.push(+d.value);
})
});
console.log("field1",field1);
console.log("field2",field2);
当我在浏览器上查看控制台时,我看到:
field1 数组 [ ] field2 数组 [ ]
地点:
field1:
Array[0]
0:"alpha"
1:"beta"
2:"delta"
3:"gamma"
field2:
Array[0]
0:34
1:12
2:49
3:89
但是,当我尝试访问 field1[0] 时,我得到的值为 undefined
field1 undefined
我猜正在发生的事情是 field1 数组有一个“名称”列的数组,但我也无法通过 field[0][0] 访问第一个元素。我得到的是:
TypeError: field1[0] is undefined
我对 JavaScript 很陌生,我似乎不明白为什么数组没有正确填充为一维数组,或者我做错了什么。我知道我可以在每行访问 csv 时遍历每一行,但我想将 csv 值存储在数组中以便在脚本中全局使用。
我浏览过的链接是:
- https://github.com/mbostock/d3/wiki/CSV
- converting a d3.csv method to d3.csv.parse method
- csv to array in d3.js
- http://learnjsdata.com/read_data.html
- http://bl.ocks.org/enjalot/1525346
但我似乎遗漏了一些东西..请帮忙!
【问题讨论】:
标签: javascript arrays csv d3.js