You need to enable JavaScript to run this app. 如何遍历数组中多组对象的所有键并提取每组所有id组成新数组
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历数组中多组对象的所有键并提取每组所有id组成新数组

问题原因

你编写的代码存在两层逻辑缺失:

  1. arrayDatas的每一项是包含多个对象的子数组,不是单个对象,直接取val.id无法获取到值
  2. 你没有对子数组做二次遍历提取所有id,只能拿到第一层的索引和对应的子数组本身

你贴出的原始数组语法不符合JS规范,实际运行会报错,修正后的合法结构如下:

const arrayDatas = [
  [{id:234, name: 'eric'},{id:235, name: 'thomas'},{id:236, name: 'louvin'}],
  [{id:230, name: 'jason'},{id:233, name: 'lois'},{id:238, name: 'serge'},{id:237, name: 'natasha'},{id:236, name: 'berthe'}]
]

实现代码

如果你需要输出你期望的键值对结构:

function products() {
  const result = {}
  arrayDatas.forEach((childArray, index) => {
    result[index] = childArray.map(item => item.id)
  })
  return result
}

调用后输出结果和你要求的完全一致:

0: [234, 235, 236],
1: [230, 233, 238, 237, 236]

如果你只需要数组格式的结果,可以简化为:

function products() {
  return arrayDatas.map(childArray => childArray.map(item => item.id))
}
// 输出:[[234, 235, 236], [230, 233, 238, 237, 236]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:30:02