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

如何将双元素JavaScript数组转换为指定键值对对象?

数组转键值对对象的正确实现

你之前的reduce写法问题在于遍历数组时把每个元素同时当作键和值赋值,导致两个元素都被当成独立的键值对,自然得不到预期结果。针对你的[key, value]结构数组,这里有几种简洁的正确实现方式:

方法一:直接解构赋值(最优解)

利用数组的索引或解构语法直接提取键和值,创建目标对象:

const arr = ['last_updated_epoch', 1669949100];
// 方式1:通过索引取值
const obj = { [arr[0]]: arr[1] };

// 方式2:解构赋值更直观
const [key, value] = arr;
const obj = { [key]: value };

方法二:使用reduce(适合扩展场景)

如果需要处理批量键值对数组(比如[[k1, v1], [k2, v2]]),可以用reduce,针对单个[key,value]数组的写法如下:

const arr = ['last_updated_epoch', 1669949100];
const obj = arr.reduce((acc, curr, idx) => {
  if (idx === 0) {
    acc._tempKey = curr;
  } else {
    acc[acc._tempKey] = curr;
    delete acc._tempKey;
  }
  return acc;
}, {});

使用示例

得到正确对象后,即可推入空数组并使用数组方法:

const emptyArr = [];
emptyArr.push(obj);

// 示例:提取数组中对象的特定属性
const updatedTimes = emptyArr.map(item => item.last_updated_epoch);
// 输出:[1669949100]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:35:40