我想用 forEach 方法从一个数组中创建 3 个新闻对象并将其推送到一个新数组中。但是新数组中的结果总是旧数组中的最后一个元素。对不起我的愚蠢问题。非常感谢let A =['0','1','2'];let C = {};let D = [];A.forEach( a => { C['name'] = a; D.push(C) print(D[a]['name']);}); print(D[0]['name']); print(D[1]['name']); print(D[2]['name']);012222
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
对象是引用类型,因此它们是通过引用传递的。但是,您可以创建新对象并将其推送到数组中:
let A = ['0', '1', '2'];
let C = {};
let D = [];
A.forEach(name => {
D.push({name});
});
console.log(D);
扬帆大鱼
TA贡献1799条经验 获得超9个赞
为了保持推理,您可以使用:
let A = ['0', '1', '2'];
let C = {};
let D = [];
A.forEach(a => {
C['name'] = a;
D=Object.assign({}, C)
});
console.log(D);
添加回答
举报
0/150
提交
取消