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

如何将单个JavaScript对象转换为对象数组?

解决方案

这有个非常简洁的函数式实现方式,利用JavaScript原生的Object.entries()和map()方法就能轻松完成转换:

const answers = {1: 'first', 2:'second', 3:'third', 4:'fourth'};
const arrayOfAnswers = Object.entries(answers).map(([key, value]) => ({ [key]: value }));

步骤解释:

  1. Object.entries(answers):把原对象转换成由键值对组成的二维数组,输出结果是:

    [["1", "first"], ["2", "second"], ["3", "third"], ["4", "fourth"]]
    

    (注:对象的数字键会被自动转为字符串,但这不影响最终生成的对象结构——因为JS对象中数字类型的键本质上也会被存储为字符串)

  2. map(([key, value]) => ({ [key]: value })):

    • 用解构赋值直接从每个键值对数组中取出key和value
    • 通过计算属性名语法[key],创建一个只包含当前键值对的新对象,最终把所有新对象组合成目标数组。

如果你希望显式让键以数字形式定义(虽然在对象中实际存储仍为字符串),可以把key转成数字后再使用:

const arrayOfAnswers = Object.entries(answers).map(([key, value]) => ({ [Number(key)]: value }));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:51:11