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

JavaScript如何从对象数组提取指定字段生成二维数组

正确实现方案

你原有代码的核心问题是误用了map回调的索引参数取key,同时存在语法错误,逻辑也没有关联到待提取字段数组wantedField,用下面的写法即可实现需求:

const old = [{id: 1, name: 'Random'}, {id: 2, name: 'Random2'}]
const wantedField = ['id']
// 核心逻辑:遍历每个对象,再遍历待提取字段,把对应值拼成子数组
const finallyResult = old.map(item => wantedField.map(field => item[field]))

以上代码输出的finallyResult就是你要的[[1], [2]],而且天然支持多字段提取:如果wantedField改为['id', 'name'],会自动输出[[1, 'Random'], [2, 'Random2']],不需要额外修改逻辑。

如果需要处理对象中没有对应字段的边界情况,可以加兜底赋值:

const finallyResult = old.map(item => wantedField.map(field => item[field] ?? null))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:06:01