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

如何映射对象数组中的数据并遍历城市对应的子数组

实现方案

以下为JavaScript环境下的实现逻辑,其他编程语言思路基本一致:

基础源数据定义

const cityData = {
  "LH": [
    "xyz",
    "CDE",
    "qwe"
  ],
  "KR": [
    "ABC",
    "xyz"
  ]
}

方案1:生成映射对象数组同时遍历子元素

如果你需要将原始结构转为[{city: 城市名, values: 对应子数组}]格式的对象数组,同时遍历每个城市的子元素,可参考以下代码:

const mappedResult = Object.entries(cityData).map(([cityName, valueList]) => {
  // 遍历当前城市对应的子数组
  valueList.forEach(item => {
    // 此处填写子元素处理逻辑,示例为打印
    console.log(`城市${cityName}的子元素:${item}`)
  })
  // 自定义返回映射后的结构
  return {
    city: cityName,
    values: valueList,
    // 可按需添加其他字段,示例为统计子元素数量
    itemCount: valueList.length
  }
})

// 输出映射后的对象数组
console.log(mappedResult)

输出的映射数组结构:

[
  { city: 'LH', values: [ 'xyz', 'CDE', 'qwe' ], itemCount: 3 },
  { city: 'KR', values: [ 'ABC', 'xyz' ], itemCount: 2 }
]

方案2:仅遍历所有子元素(无需生成映射数组)

如果你不需要保留映射后的数组结构,只需要遍历所有城市的所有子项,可直接使用以下代码:

Object.entries(cityData).forEach(([cityName, valueList]) => {
  valueList.forEach(item => {
    // 此处填写子元素处理逻辑
    console.log(cityName, item)
  })
})

通用逻辑说明

所有语言的实现思路完全一致:

  • 第一步获取原始对象的所有键(即所有城市名)
  • 第二步遍历城市名,取出对应子数组
  • 第三步遍历子数组完成业务逻辑处理

内容的提问来源于stack exchange,提问作者Aqeel Khadim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 01:15:10