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

如何从JavaScript对象数组中提取键数组与值数组?

提取对象数组的键数组和值数组

针对你给出的对象数组:

const obj = [{ '1': 'a'},{ '2': 'b'}, {'3': 'c'}]

可以用以下几种方式提取目标数组:

方法一:分开遍历提取

提取键数组

利用map遍历数组,结合Object.keys获取每个对象的键(因为每个对象只有一个键,直接取索引0的元素):

const keys = obj.map(item => Object.keys(item)[0]);
// 结果:['1','2','3']

提取值数组

同理,用Object.values获取每个对象的值:

const values = obj.map(item => Object.values(item)[0]);
// 结果:['a','b','c']

方法二:单次遍历同时获取两个数组

如果数组规模较大,想减少遍历次数,可以用reduce一次完成键和值的收集:

const [keys, values] = obj.reduce(([accKeys, accValues], item) => {
  // 取出当前对象的唯一键值对
  const [key, value] = Object.entries(item)[0];
  // 累加进结果数组
  return [[...accKeys, key], [...accValues, value]];
}, [[], []]);
// keys: ['1','2','3'], values: ['a','b','c']

这两种方法都能精准得到你想要的结果,根据实际场景选择即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:16:09