我是Vue的新手,所以不知道如何解决这个问题,让我先显示代码,然后再提出问题,我正在使用Vue-Good-table

  methods:{

         getTotals(){
            var self = this;
            var new1=[];
            this.$http.get('http://localhost:3000/api/purchases')
            .then(function (response) {
              console.log("response.data value")
              console.log(response.data)
                for (var i = 0; i < response.data.length; i++) {
                   var item1=JSON.parse(response.data[i].pur_items);
                     console.log("item1 for index i time" +i)
                      console.log(item1)

                      new1=item1

                }
               console.log("final output")
               console.log(new1)


            })

        },

},


这是for循环的控制台日志
javascript - for循环的最后一次迭代修改vue中的最终输出-LMLPHP
现在我的问题是,而不是在最终输出(即new1)上获得5个数组
它总是显示2个数组,即在上一次迭代中它有2个数组,我最终弄清了我做错了什么

最佳答案

给定您的代码,通常new1包含最后一次迭代的数组是正常的。

您应该尝试将new1 = item1;替换为new1 = new1.concat(item1);

有关Array原型方法的更多详细信息,建议查看doc on Mozilla Developer Network

09-25 21:32