为了账号安全,请及时绑定邮箱和手机立即绑定

为每个新对象创建一个数组

为每个新对象创建一个数组

jeck猫 2022-01-07 10:26:17
我想用 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);


查看完整回答
反对 回复 2022-01-07
?
扬帆大鱼

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);


查看完整回答
反对 回复 2022-01-07
  • 2 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信