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

JavaScript中如何将多个双元素数组转换为键值对对象?

JavaScript 二维键值数组转对象实现

现有如下格式的二维数组,每个子数组固定包含[键名, 键值]两个元素:

const arr = [['name', 'jack'],['age', 18]];

需要将其转换为普通键值对对象:{ name: 'jack', age: 18 },可通过以下两种常用方法实现:

  • 方法1:使用原生Object.fromEntries()(推荐,ES2019+ 环境支持)
    Object.fromEntries是JS原生提供的方法,专门用于将键值对结构的可迭代对象(包括符合格式的二维数组、Map实例)转换为普通对象,写法最简洁:
const result = Object.fromEntries(arr);
console.log(result); // { name: 'jack', age: 18 }
  • 方法2:使用Array.prototype.reduce()(兼容低版本JS环境)
    如果需要兼容不支持ES2019的运行环境,可以用reduce方法遍历数组,逐一向初始空对象中写入键值对:
const result = arr.reduce((targetObj, [key, value]) => {
  targetObj[key] = value;
  return targetObj;
}, {}); // 传入空对象作为累加初始值
console.log(result); // { name: 'jack', age: 18 }

注意:如果子数组中的键名不是字符串或Symbol类型,JS会自动将其转换为字符串类型作为对象的键。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:39:53