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

如何在JavaScript中根据值动态创建对象属性?

如何将对象数组转换为指定格式的键值对对象?

当然可以实现,这里提供几种简洁的方法:

方法1:使用Array.reduce()(推荐)

这是处理这类数组转对象场景最常用的方式,通过累加器逐步构建目标对象:

const values = [{name: 'name1', index: 1}, {name: 'name2', index: 2}, {name: 'name3', index: 3}];

const result = values.reduce((accumulator, currentItem) => {
  accumulator[currentItem.name] = currentItem.index;
  return accumulator;
}, {});

console.log(result);
// 输出:{ name1: 1, name2: 2, name3: 3 }

方法2:使用Array.forEach()

如果觉得reduce逻辑不够直观,也可以用forEach遍历数组,手动填充目标对象:

const values = [{name: 'name1', index: 1}, {name: 'name2', index: 2}, {name: 'name3', index: 3}];
const result = {};

values.forEach(item => {
  result[item.name] = item.index;
});

console.log(result);
// 输出:{ name1: 1, name2: 2, name3: 3 }

说明

两种方法的核心逻辑一致:遍历数组中的每个对象,将对象的name属性作为新对象的键,index属性作为对应的值,最终得到你需要的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:56:39