javascript - 为每个新对象创建一个数组
问题描述
我想用 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
解决方案
对象是引用类型,因此它们是通过引用传递的。但是,您可以创建新对象并将其推送到数组中:
let A = ['0', '1', '2'];
let C = {};
let D = [];
A.forEach(name => {
D.push({name});
});
console.log(D);
推荐阅读
- mysql - 如何根据属性名称过滤 mysql 中的 JSON 数据类型?
- javascript - 如何在 React Native 中添加支付网关集成?
- linux - Linux 日志服务器权限被拒绝
- javascript - 创建异步多级向下钻取 - Highcharts
- java - 无法解析符号“content_frame”
- c# - MSSQL 2017 - 高效插入大型数据集
- reactjs - 如何将 css 模块与 create-react-app 一起使用?
- python - 将 dask.array 保存为 hdf5 数据集
- python - 如何在 Bokeh 中镜像小部件?
- rest - Magento 1 REST API 给出 404