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

如何在JavaScript中将两个数组合并为键值对结构的对象?

将两个数组合并为键值对对象的几种方法

这里有几个实用的方法可以把你的两个数组转换成目标键值对对象:

1. 基础for循环(直观易懂)

这是最直接的实现方式,适合所有场景,新手也能快速理解:

let x = ['name','age','id'];
let y = ['kyle',50,5050];
const result = {};

// 遍历键数组,逐个赋值
for (let i = 0; i < x.length; i++) {
  result[x[i]] = y[i];
}

console.log(result); // 输出:{name:'kyle', age:50, id:5050}

如果两个数组长度不一致,x中超出y长度的键会被赋值为undefined,y中超出的元素则会被忽略。

2. 使用Array.reduce(函数式写法)

用reduce可以更简洁地完成转换,属于函数式编程风格:

let x = ['name','age','id'];
let y = ['kyle',50,5050];

const result = x.reduce((acc, key, index) => {
  acc[key] = y[index];
  return acc;
}, {}); // 初始值为空对象

console.log(result);

reduce会遍历x数组,每次把当前键和对应的y值存入累加器acc,最后返回完整的对象。

3. ES6+的Object.fromEntries + map(现代简洁写法)

利用ES6新增的Object.fromEntries方法,配合map生成键值对数组,一步到位:

let x = ['name','age','id'];
let y = ['kyle',50,5050];

const result = Object.fromEntries(
  x.map((key, index) => [key, y[index]])
);

console.log(result);

x.map(...)会生成一个二维数组[['name','kyle'], ['age',50], ['id',5050]],Object.fromEntries会把这个数组直接转换成键值对对象。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:27:13