首页 > 解决方案 > 由于某种原因,我无法访问我的对象数组的值

问题描述

我有一个对象,我想记录values数组,但是当我这样做时,数组是空的。这是为什么?

var data = {"values" : []};
   Papa.parse('data.csv', {
    header: true,
    download: true,
    newline: "\n",
    quoteChar : '',
    escapeChar : '',
    chunk: function(results) {
            data.values.push(results.data);
    },
});
console.log(data);
console.log(data.values.length); // 0
console.log(data.values[0]); // undefined

标签: javascriptjson

解决方案


Papa.parse是异步的;目前,您仅在发送解析 CSV 的命令后才记录数据,但响应尚未返回;回调未触发。您需要按照文档中的说明complete添加处理程序。

Papa.parse('data.csv', {
  header: true,
  download: true,
  newline: "\n",
  quoteChar : '',
  escapeChar : '',
  chunk: function(results) {
    data.values.push(results.data);
  },
  complete: function() {
    console.log('done');
    console.log(data.values[0]);
  }
});

推荐阅读