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

JavaScript如何从对象数组中提取嵌套的内部对象数组

问题分析

你原来的写法存在两个核心错误:

  • 外层遍历拿到的u就是data数组的每个元素对象,本身就有items属性,不需要写u[i]访问
  • map方法会返回和原数组长度一致的新数组,直接嵌套map会得到多层嵌套的数组结构,不符合你拍平的需求

实现方案

方案1(最简写法,ES2019+支持)

直接使用flatMap方法,该方法会先执行映射再自动做深度为1的扁平化处理:

const result = data.flatMap(item => item.items)

方案2(兼容旧环境写法)

可以用map加flat组合,或者reduce累加实现:

// 写法1:map+flat
const result = data.map(item => item.items).flat()

// 写法2:reduce实现
const result = data.reduce((prev, curr) => prev.concat(curr.items), [])

以上三种写法最终得到的result就是你需要的单一级别items数组。


内容的提问来源于stack exchange,提问作者sison kk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 00:06:03