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

如何为对象数组的项分配键?及对象转指定数组结构的最优方法

如何将键值对对象转换为指定结构的数组?

要把给定的键值对对象转换成目标结构的数组,有几种简洁高效的方法,这里推荐最常用的两种:

方法一:ES6+ 简洁写法(最优)

利用Object.entries()直接提取对象的键值对,再结合Array.map()映射成目标结构:

const originalObj = {"john":15, "alex":19, "mark":19, "luke":12};
const data = Object.entries(originalObj).map(([name, value]) => ({ name, value }));

Object.entries()会将原对象转换为[键名, 对应值]的二维数组,之后通过解构赋值直接取出每个项的键和值,再用对象字面量简写生成目标对象,代码简洁且可读性高。

方法二:ES5 兼容写法

如果需要兼容不支持ES6的环境,可以用Object.keys()获取所有键名后遍历:

const originalObj = {"john":15, "alex":19, "mark":19, "luke":12};
const data = Object.keys(originalObj).map(function(key) {
  return {
    name: key,
    value: originalObj[key]
  };
});

这种方法先提取对象的所有键名数组,再逐个取出对应的值,组装成目标结构的对象。

这两种方法的时间复杂度都是O(n)(n为对象的键值对数量),属于高效的转换方式,其中ES6写法因为直接获取键值对,逻辑更连贯,是当前的最优选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:36:22