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
}
})
})
}
回答:
看你的代码,数组下标应该是对应的。只需要循环一遍就可以了。
如果像你写的那样两遍循环,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