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

JavaScript中如何提取对象数组_id生成指定数组(兼容Ionic/Angular/NodeJS/MongoDB场景)

问题原因

你的现有代码存在两处错误:

  • for...in遍历数组时拿到的key是数组索引的字符串类型,不是数组内的对象元素,因此key._id会返回undefined
  • 循环内直接写return会在第一次遍历就终止执行,无法收集所有元素的_id字段

全场景兼容实现方案

以下方案完全适配Ionic、Angular、NodeJS、MongoDB相关开发环境:

推荐方案(最简洁)

使用ES6+标准的数组map方法直接映射提取字段:

let passions = [
  {_id: "60a1557f0b4f226732c4597c",name: "Netflix"},
  {_id: "60a1557f0b4f226732c4597b",name: "Movies"}
]
const idList = passions.map(item => item._id)

执行后idList就是你需要的['60a1557f0b4f226732c4597c', '60a1557f0b4f226732c4597b']结果。

循环实现方案(兼容低版本运行环境)

如果需要兼容更低版本的JS运行环境,可以用普通for循环或者for...of循环实现:

// 普通for循环实现
const idList = []
for (let i = 0; i < passions.length; i++) {
  idList.push(passions[i]._id)
}

// for...of循环实现
const idList = []
for (const item of passions) {
  idList.push(item._id)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:27:03