遇到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
	})
}


Logo

前往低代码交流专区

更多推荐