首页 > 解决方案 > 为每个新对象创建一个数组

问题描述

我想用 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']);

0
1
2
2
2
2

标签: javascript

解决方案


对象是引用类型,因此它们是通过引用传递的。但是,您可以创建新对象并将其推送到数组中:

let A = ['0', '1', '2'];
let C = {};
let D = [];
A.forEach(name => {
  D.push({name});
});

console.log(D);


推荐阅读