1. 程式人生 > >循環中push覆蓋數據問題記錄

循環中push覆蓋數據問題記錄

數據 clas data let pos == post rod cat

var showData=[];
let show1={Id:‘‘,SeriesName:‘‘,ProductCategory:[]};
let show2={Id:‘‘,SeriesName:‘‘};
if(res.data.Code==200){
for(let i=0;i<result.length;i++){

show1.Id=result[i].Id;
show1.SeriesName=result[i].SeriesName;
for(let j=0;j<result[i].ProductCategory.length;j++){

show2.Id=result[i].ProductCategory[j].Id;
show2.SeriesName=result[i].ProductCategory[j].CategoryName;
show1.ProductCategory.push(show2);
}
showData.push(show1);
}

像這樣寫是會覆蓋的,因為地址沒變。所以為了每次循環都有新的地址要這樣寫:

if(res.data.Code==200){
for(let i=0;i<result.length;i++){
let show1={Id:‘‘,SeriesName:‘‘,ProductCategory:[]};
show1.Id=result[i].Id;
show1.SeriesName=result[i].SeriesName;
for(let j=0;j<result[i].ProductCategory.length;j++){
let show2={Id:‘‘,SeriesName:‘‘};
show2.Id=result[i].ProductCategory[j].Id;
show2.SeriesName=result[i].ProductCategory[j].CategoryName;
show1.ProductCategory.push(show2);
}
showData.push(show1);
}
this.options2=showData;
}

循環中push覆蓋數據問題記錄