如何使用array.map等快捷方法移除JavaScript对象数组的外层data属性
实现方案
完全可以用map相关的方法实现,无需手动写循环遍历,下面给两种常用的简便方案:
方案1:使用flatMap(最推荐,代码最简洁)
flatMap会先执行映射提取每个元素的data属性,再自动把所有子数组合并为一维数组,刚好匹配你要的输出结构:
const result = array.flatMap(item => item.data)
方案2:兼容旧环境的map+concat组合
如果你的运行环境不支持ES2019新增的flatMap,可以用这个兼容写法:
const result = [].concat(...array.map(item => item.data))
两种方案对您给出的示例输入执行后,都能得到期望的输出结构。如果单个元素的data字段内包含多个对象,两种方法也会自动把所有对象都提取合并到最终结果数组中。
内容的提问来源于stack exchange,提问作者Qiuzman
相关产品推荐
相关产品推荐

