You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从嵌套对象数组中提取所有arrObj子元素组成一维数组

错误原因

你的代码存在两个问题:

  • 未给reduce传入初始空数组[]作为第二个参数,首次执行时previousValue是dataArr的第一个元素对象,第一次拼接返回普通数组后,第二次执行时previousValue不存在arrObj属性,调用会直接报错
  • 累加值本身就是存储结果的数组,不需要读取它的arrObj属性

正确实现

方法1:reduce 实现

const newArr = dataArr.reduce((previousValue, currentValue) => {
  return previousValue.concat(currentValue.arrObj)
}, [])

方法2:flatMap 实现(ES2019+ 更简洁)

flatMap会先对每个元素执行映射,再自动拍平1层数组,刚好匹配需求:

const newArr = dataArr.flatMap(item => item.arrObj)

内容的提问来源于stack exchange,提问作者Uzair Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 00:06:02