You need to enable JavaScript to run this app. ES6中如何基于键值对对象生成指定格式的嵌套对象
优惠活动
大模型
产品
解决方案
定价
更多

ES6中如何基于键值对对象生成指定格式的嵌套对象

ES6 对象格式转换实现

不需要手动逐键遍历赋值,借助ES6新增的对象遍历方法,可以非常简洁地完成结构转换,核心实现代码如下:

const target = Object.fromEntries(
  Object.entries(result).map(([key, value]) => [
    key,
    {
      name: value,
      icon: "fa-search"
    }
  ])
)

实现逻辑说明

  • 调用Object.entries(result)会把原对象拆解为包含所有键值对的二维数组,原对象中数字形式的键会自动转为字符串格式,和目标对象要求的顶级键格式完全匹配,不需要额外做类型转换。
  • 通过数组map方法遍历每一组键值对,把原有的单值替换为包含name(取原对象对应存储值)、icon(固定值"fa-search")的子对象,全程保留原对象的键不做修改。
  • 最后通过Object.fromEntries把处理后的二维数组重新拼装为标准JS对象,生成的结构和手动逐键书写的效果完全一致,也会严格保留原对象的键顺序。

如果项目运行环境不支持Object.fromEntries,可以用Array.reduce实现完全等价的逻辑:

const target = Object.entries(result).reduce((acc, [key, value]) => {
  acc[key] = {
    name: value,
    icon: "fa-search"
  }
  return acc
}, {})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 16:06:03