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

如何使用map方法遍历数组提取每个对象的sub_data属性?

解决方案

直接调用数组的map方法,在遍历回调中返回当前对象的sub_data属性即可得到目标结果。

首先修正你提供的原始代码中的语法问题:两个title属性的行尾缺失逗号,修正后可正常运行的原始数据如下:

const data = [
  {
    id: 1,
    title: 'Logo',
    sub_data: [
      {
        id: 2,
        title: 'Company Logo'
      },
      {
        id: 3,
        title: 'Website Logo'
      }, 
    ]
  },
  {
    id: 2,
    title: 'Brands',
    sub_data: [
      {
        id: 25,
        title: 'Company Brands'
      },
      {
        id: 3,
        title: 'Website Brands'
      }, 
    ]
  }
]

按原数组顺序获取每组sub_data

map会返回和原数组长度一致的新数组,新数组的每一项对应原数组同位置对象的sub_data内容,代码如下:

const subDataList = data.map(item => item.sub_data)

返回结果和你的预期完全匹配:

  • subDataList[0] 为第一组Logo对应的sub_data:
[
  {
    id: 2,
    title: 'Company Logo'
  },
  {
    id: 3,
    title: 'Website Logo'
  }, 
]
  • subDataList[1] 为第二组Brands对应的sub_data:
[
  {
    id: 25,
    title: 'Company Brands'
  },
  {
    id: 3,
    title: 'Website Brands'
  },  
]

(可选)合并所有sub_data为一维数组

如果你不需要保留分组,想把所有sub_data里的对象合并到同一个数组,可以在map后调用flat方法打平嵌套数组:

const mergedSubData = data.map(item => item.sub_data).flat()

内容的提问来源于stack exchange,提问作者Derek Hough

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:21:30