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

如何将结构不同的JavaScript对象进行转换?

JavaScript对象结构转换的最优实现

给定原始对象(注意:原始对象的UUID键必须用引号包裹,否则会被解析为减法表达式导致语法错误):

const object1 = {
  "75f649a2-0add-41df-a670-46bcd6150588": 6,
  "990b503d-e322-42b1-9236-639a4daca6cb": 0,
  "b1fd742c-f3b2-11ec-81e1-0242ac140005": 2
};

需要将其转换为每个键对应包含maximal_offers_per_day属性的对象结构,以下是两种高效简洁的实现方案:

方案一:Object.entries + Array.reduce(兼容性更优)

适用于多数现代浏览器,逻辑清晰易懂:

const transformedObject = Object.entries(object1).reduce((acc, [key, value]) => {
  acc[key] = { maximal_offers_per_day: value };
  return acc;
}, {});

方案二:Object.fromEntries(代码更紧凑)

基于ES2019+特性,写法更简洁:

const transformedObject = Object.fromEntries(
  Object.entries(object1).map(([key, value]) => [
    key,
    { maximal_offers_per_day: value }
  ])
);

说明

两种方案的时间复杂度均为O(n)(n为对象键值对数量),属于最优的线性遍历实现。若运行环境支持ES2019及以上,优先选择第二种;若需兼容旧环境,第一种更稳妥。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:15:58