我正在尝试将对象数组从现有对象推送到新数组。但只有最后一个值被推送
例如:我没有得到 1 2 3
作为输出,而是得到了 3 3 3
var arr=[{'id':'1','name':'xyz'},{'id':'2','name':'pqr'},{'id':'3','name':'mon'}];
var toSend=[];
var obj={'id':""};
for(var i=0;i<arr.length;i++) {
obj.id = arr[i].id;
toSend.push(obj);
}
最佳答案
您将相同的对象引用推送到数组。通过使用新对象,所有对象都不同。
var arr = [{ id: '1', name: 'xyz' }, { id: '2', name: 'pqr' }, { id:'3', name: 'mon' }],
toSend = [],
obj;
for (var i = 0; i < arr.length; i++) {
obj = { id: arr[i].id };
toSend.push(obj);
}
console.log(toSend);
关于javascript - 将对象数组添加到单个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906577/