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

如何将对象数组转换为指定键值结构的JavaScript对象?

数组转指定键值对对象的实现方法

你可以通过以下几种常见的JavaScript方法,将给定的对象数组转换为目标格式的对象:

方法一:使用reduce方法

reduce是处理数组累加转换的常用方法,适合这种逐步构建对象的场景:

const arr = [{name:'bruce', surname: 'wayne'}, {name:'clark', surname:'kent'}];
const result = arr.reduce((acc, curr) => {
  acc[curr.name] = curr.surname;
  return acc;
}, {});
console.log(result); // 输出:{bruce:'wayne', clark:'kent'}

核心逻辑:以空对象作为初始值,遍历数组时将每个元素的name作为键、surname作为值存入累加器,最终返回构建好的对象。

方法二:使用Object.fromEntries配合map

这种方法更简洁,先将数组元素转换为键值对数组,再直接转为对象:

const arr = [{name:'bruce', surname: 'wayne'}, {name:'clark', surname:'kent'}];
const result = Object.fromEntries(arr.map(item => [item.name, item.surname]));
console.log(result); // 输出:{bruce:'wayne', clark:'kent'}

核心逻辑:map将每个对象映射为[键, 值]格式的数组,Object.fromEntries负责把二维键值对数组转换为普通对象。

方法三:使用forEach遍历构建

如果需要更直观的遍历逻辑,可以用forEach手动构建对象:

const arr = [{name:'bruce', surname: 'wayne'}, {name:'clark', surname:'kent'}];
const result = {};
arr.forEach(item => {
  result[item.name] = item.surname;
});
console.log(result); // 输出:{bruce:'wayne', clark:'kent'}

核心逻辑:初始化空对象后,遍历数组的每个元素,直接为对象添加对应的键值对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 13:24:22