从csv文件创建一个新数组

时间:2019-05-29 12:34:49

标签: javascript arrays

我已经使用D3导入了CSV文件,“大学”,“州”,“薪水”和“类型”是我需要进行更多可视化处理的值。 现在,我试图创建一个导入上述四个属性的新数组。

我使用创建一个新数组     var SalaryArray = []

通过返回我需要使用的属性,我已经导入了CSV文件

d3.csv("Median Salary Integration 2018.csv")
    .row(function (d) {
        return {University: String(d.University), State: String(d.State),Salary: String(d.Median), Type: String(d.Type)}

我尝试了

SalaryData = d3.csv("Median Salary Integration 2018.csv")
    .row(function (d) {
        return {
            University: String(d.University), State: String(d.State),
            Salary: String(d.Median), Type: String(d.Type)
        }
    })

但是通过console.log(SalaryData),结果不会显示。

1 个答案:

答案 0 :(得分:1)

The documentation shows是您在回调中获得值,而不是作为返回值:

d3.csv("Median Salary Integration 2018.csv")
.row(function (d) {
    return {
        University: String(d.University), State: String(d.State),
        Salary: String(d.Median), Type: String(d.Type)
    }
})
.then(salaryData => {
    // ***Use salaryData here***
    // It will be an array, so for instance
    for (const entry of salaryData) { // Loop through the array
        // Use `entry.University`, etc., here
    }
})
.catch(error => {
    // Handle/report error
});

文档说:

  

此模块在Fetch之上提供了方便的解析。

...因此您从csv获得的回报是一个承诺,而不是实际数据,因为该过程是异步的。因此,上面的thencatch