js foreach 循环赋值只取到了最后个对象中的某个属性

想把productSkus中的每一项的image替换成 uploadSpecArr的每一项,但是最后赋值后,productSkus里面的image全都变成了uploadSpecArr里面的最后一项,应该如何解决,感谢各位

if (this.uploadSpecArr.length > 1){

let data = [];

//表格数据

productSkus.forEach((item, index2) => {

// let tempData = {}

//图片数组

this.uploadSpecArr.forEach((item2,index)=>{

if (this.status === '编辑按钮') {

// data[index2].image = item2.image

productSkus[index2].image = this.uploadSpecArr[index].image

}

})

})

}

js foreach 循环赋值只取到了最后个对象中的某个属性

js foreach 循环赋值只取到了最后个对象中的某个属性


回答:

看你的代码,数组下标应该是对应的。只需要循环一遍就可以了。
如果像你写的那样两遍循环,productSkus 里的每一项都会被 uploadSpecArr 每次循环赋一次值,后面的赋值会替换之前的,最后生效的就是最后一条了。

...

//表格数据

productSkus.forEach((item, index2) => {

// let tempData = {}

//图片数组

if (this.status === '编辑按钮') {

// data[index2].image = item2.image

productSkus[index2].image = this.uploadSpecArr[index2].image

}

})

...


回答:

productSkus.map((item, index) => item.image = this.uploadSpecArr[index].image)


回答:

if (this.status === '编辑按钮') {

productSkus.forEach((product, index) => {

product.image = this.uploadSpecArr[index].image

})

}

以上是 js foreach 循环赋值只取到了最后个对象中的某个属性 的全部内容, 来源链接: utcz.com/p/937160.html

回到顶部