首页 > 解决方案 > 在javascript中使用split函数后如何推送变量?

问题描述

错误:未捕获(承诺中)类型错误:无法读取未定义错误行的属性“push”:“this.name[i].push(arrayData[0]);”

我不明白,因为 console.log("data is loaded:" + arrayData[0]); 之前的行 正在工作中!

是关于异步的吗?有人可以帮我吗?

这是我的代码:

 data: {
    name: []
  },
  methods: {
    LoadData: function() {
      console.log("onload fundtion. \n");
      fetch('http://localhost/store/skininfor.txt')
        .then(response => response.text())
        .then((data) => {
          //  console.log(data);
          var textByLine = data.split("\n");
          for (var i = 0; i < textByLine.length; i++) {
            var arrayData = textByLine[i].split(",");
            console.log("data is loaded:" + arrayData[0]);
            if (arrayData[0] !== undefined) {
               this.name[i].push(arrayData[0]);
            }
          }
        });
    },

标签: javascriptvue.jssplitpush

解决方案


可能需要分配而不是推送,即

this.name[i] = arrayData[0];

(虽然我不能确定。如果您定义了示例输入数据和所需的输出,那将很有帮助)。


推荐阅读