0

希望使用 CSV 中的数据来创建网络图。有点卡在第一个障碍,因为我想使用 PapaParse 从 CSV 创建一个数组数组,但是似乎无法将 papaParse 中的数据推送到我的数组中,我得到的只是控制台中返回的一个空数组。谁能告诉我我做错了什么?

var dirtyNodeData = [];
Papa.parse("http://example.com/tmp/csvfile.csv", {
    download: true,
    header: false,
    complete: function(results) {
        dirtyNodeData.push(results.data);
    }
});

console.log(dirtyNodeData);                 
4

1 回答 1

2

Papa.parse函数是异步的,因此您需要在complete函数内部接收数据时处理接收数据,而不是在调用parse. 例如,您可以这样做:

var dirtyNodeData = [];
Papa.parse("http://example.com/tmp/csvfile.csv", {
    download: true,
    header: false,
    complete: function(results) {
        dirtyNodeData.push(results.data);
        console.log(dirtyNodeData);  
        }
    });

即,您可以在将数据推送到数组后添加处理程序代码。您还可以创建另一个名为postReceiveCSV()的函数来代替console.log,您可以在其中添加成功接收数据后需要执行的任何操作。

如果这不是问题,请检查该results对象是否符合您的预期。

于 2016-01-13T13:08:11.473 回答