循环给数组push对象,数组中只有最后一个对象
let list = []
let list1 = [
{d:"1"},
{e:"2"},
{f:"3"},
]
let data = {
a:"",
b:"",
c:"",
};
for (var i = 0; i < list1.length; i++) {
data.a = list1[i].d;
data.b = list1[i].e;
data.c = list1[i].f;
list.push(data);
}
上面这种情况下不管在循环外还是循环内给list push值,list里只会有一个对象。因为data只有一个,所以 list 只能接到一个
只要把data写在循环内再给list push值就会是多个,这样循环几次data就有几个,list 就可以接到多个
for (var i = 0; i < list1.length; i++) {
let data = {
a:"",
b:"",
c:"",
};
data.a = list1[i].d;
data.b = list1[i].e;
data.c = list1[i].f;
list.push(data);
}
data里面的每一项是自定义的,一般和需要赋值的数组的字段相同,方便赋值