Javascript 如何在使用d3.csv推送值后读取新数组数据?

Javascript 如何在使用d3.csv推送值后读取新数组数据?,javascript,arrays,csv,d3.js,Javascript,Arrays,Csv,D3.js,我有一个代码块,它使用d3.csv()将对象从csv文件推送到新数组中 我不明白为什么console.log(数据[0])返回undefined 这是我的代码: let data = [] let csv = 'file.csv' let read_csv = d3.csv(csv, (d) => { d.map((i) => { data.push(i) }) }) console.log(data) console.log(data[0]) 第一个控制台按如下方

我有一个代码块,它使用
d3.csv()
对象从csv文件推送到
新数组中

我不明白为什么
console.log(数据[0])
返回
undefined

这是我的代码:

let data = []
let csv = 'file.csv'
let read_csv = d3.csv(csv, (d) => {
  d.map((i) => {
    data.push(i)
  })
})
console.log(data)
console.log(data[0])
第一个控制台按如下方式返回所有值:
Array(166)
。但是,第二个返回
未定义的

我做错了什么?使用此方法选择数组的
索引是否正确

编辑

我也试过这个代码:

var read_csv = d3.csv(csv, function (d) {
  for (var i = 0; i < d.length; i++) {
    data.push(d[i])
  }
})

它返回每个对象,因此我相信
d3.csv()
读取数据正常。

当您
console.dir(数据)
时会发生什么?这将显示基础数据。它还返回
Array(166)
。但是它旁边是否有一个可折叠的三角形,可以让您查看基础数组成员?请确保您已阅读了该文件。是否检查了数据?
let read_csv = d3.csv(csv, (d) => {
  d.map((i) => {
    console.log(i)
  }) 
})