我有这个 do while 循环
trucks = [];
fetchdata(){
this.trucks = [];
do {
this._reportService.getReports({
..//pagination stuff here
})
.subscribe(res=> {
this.trucks.push(res.rawdatatrucks);
})
} while(i<this.totalRecords);
console.log(this.trucks)
}
上面的方法有效,但数据是以这种形式推送的
0:[
0:[ ...truck data stuff ],
1:[ ...truck data stuff ],
2:[ ...truck data stuff ],
3:[ ...truck data stuff ],
],
1:[
0:[ ...truck data stuff ],
1:[ ...truck data stuff ],
2:[ ...truck data stuff ],
3:[ ...truck data stuff ],
],
我期待得到的是将数据附加到数组的末尾,以便我得到
console.log(this.trucks)
0:[ ...truck data stuff ],
1:[ ...truck data stuff ],
2:[ ...truck data stuff ],
3:[ ...truck data stuff ],
4:[ ...truck data stuff ],
5:[ ...truck data stuff ],
6:[ ...truck data stuff ],
.......
来自服务器的响应
console.log(res.rawdatatrucks);
即使在 while 循环的其他迭代中也始终从 0 开始。
我还需要在 .push 方法中添加什么
最佳答案
使用concat
而不是push
。
this.trucks = this.trucks.concat(res.rawdatatrucks);
关于javascript - 在 JavaScript/TypeScript 中将项目添加到数组末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46576637/