【发布时间】:2022-01-09 04:35:31
【问题描述】:
有以下输入:
const myArray = [{data: {value: 1, name: 'john', age: 22 } },{data: {value: 2, name: 'mike', age: 42 } }];
希望遍历这个数组,以便创建一个只包含一些数据的新数组,在本例中是姓名和年龄。
结果应该是:[{name: 'john', age: 22 }, {name: 'mike', age: 42 }]
我尝试过使用 forEach:
const result = myArray.forEach(el => ({el.data.name, el.data.age}));
这个解决方案有什么问题?
【问题讨论】:
-
forEach不返回任何内容(显式)。 -
只需将
forEach替换为map即可完成 -
@CristianTraìna 还有
el => ({el.data.name, el.data.age}))->el => ({name: el.data.name, age: el.data.age})或({data: {name, age}}) => ({name, age}) -
Array.prototype.forEach():“返回值:undefined。” -
@VLAZ 我没注意到,不错
标签: javascript arrays loops ecmascript-6 foreach