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

如何将JavaScript数组转换为以1起始索引为属性的单个对象

map方法的作用是按规则遍历数组返回同等长度的新数组,所以你现在得到的是每个元素为独立对象的数组,无法直接得到单个聚合对象。

方案1:使用Array.reduce实现(兼容性好)

const result = row.values.reduce((acc, current, index) => {
  acc[index + 1] = current
  return acc
}, {})

说明:reduce以空对象作为初始累计值,遍历过程中把1起始的下标作为属性名、元素内容作为属性值存入累计对象,最终直接返回聚合后的单个对象。

方案2:使用Object.fromEntries实现(ES2019+支持,写法更简洁)

const result = Object.fromEntries(
  row.values.map((item, index) => [index + 1, item])
)

说明:先通过map生成[属性名, 属性值]格式的二维数组,再通过Object.fromEntries直接转换为目标对象。

补充说明

你之前的写法里{i: e}还存在动态键的语法问题:直接写i作为键会被识别为固定字符串"i",如果要使用变量的值作为属性名,需要用方括号包裹变量,即{ [i + 1]: e }。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 00:45:03