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

如何按不同条件提取嵌套数据结构中的vertical字段值并汇总

实现方案

核心逻辑是处理两层嵌套数组:外层data数组每个元素包含verticals子数组,需先遍历外层结构,再提取内层子数组的vertical字段值。

场景1:获取所有runType下的vertical值

使用flatMap遍历外层数组,自动合并内层映射得到的结果为一维数组:

const allVerticals = data.flatMap(item => 
  item.verticals.map(vertItem => vertItem.vertical)
)
// 输出:["SPINACH", "TOMATO", "ONION", "APPLE", "BANANA", "GRAPES"]

场景2:获取runType为VEGGIES对应的vertical值

先用find筛选出对应类型的外层对象,再遍历其verticals字段取值,添加可选链和默认空数组兼容边界异常:

const veggiesVerticals = data
  .find(item => item.runType === 'VEGGIES')
  ?.verticals.map(vertItem => vertItem.vertical) || []
// 输出:["SPINACH", "TOMATO", "ONION"]

场景3:获取runType为FRUITS对应的vertical值

和场景2逻辑一致,仅修改筛选的runType值即可:

const fruitsVerticals = data
  .find(item => item.runType === 'FRUITS')
  ?.verticals.map(vertItem => vertItem.vertical) || []
// 输出:["APPLE", "BANANA", "GRAPES"]

内容的提问来源于stack exchange,提问作者Aren Trot

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:48:00