【VUE】for循环 push对象最终结果全是最后一个对象
遇到for循环push对象得到新数组的情况时,应该在push里面写对象,不应该先对对象赋值再push,否则会导致得到新数组中的所有对象的全是最后一个对象的值。错误情况:let arr = [];let obj = {name1: '',name2: '',name3: ''}for (let i = 0; i < list.length; i++){obj.name1 = list[i].n
·
遇到for循环push对象得到新数组的情况时,应该在push里面写对象,不应该先对对象赋值再push,否则会导致得到新数组中的所有对象的全是最后一个对象的值。
错误情况:
let arr = [];
let obj = {
name1: '',
name2: '',
name3: ''
}
for (let i = 0; i < list.length; i++){
obj.name1 = list[i].name1,
obj.name2 = list[i].name2,
obj.name3 = list[i].name3
arr.push(obj)
正确情况:
let arr = [];
let obj = {
name1: '',
name2: '',
name3: ''
}
for (let i = 0; i < list.length; i++){
arr.push({
obj.name1 = list[i].name1,
obj.name2 = list[i].name2,
obj.name3 = list[i].name3
})
}
更多推荐
已为社区贡献1条内容
所有评论(0)