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

从嵌套对象提取键值对并转换格式的技术求助

从嵌套对象提取指定键值对生成目标对象

原嵌套对象

const obj = {
  "success": true,
  "data": {
    "data1": {
      "label": "label1",
      "value": "value1"
    },
    "data2": {
      "label": "label2",
      "value": "value2"
    }
  }
}

期望生成的对象格式

{data1: "value1", data2: "value2"}

你现有代码的问题

你用map返回的是字符串数组(比如["data1: value1", "data2: value2"]),这和目标对象的结构完全不符,自然得不到想要的结果。

正确实现方案

方案1:用Object.fromEntries快速转换

Object.fromEntries能直接把键值对数组转为对象,代码简洁高效:

const result = Object.fromEntries(
  Object.entries(obj.data).map(([key, item]) => [key, item.value])
);

方案2:用reduce手动构建对象

如果需要兼容不支持Object.fromEntries的旧环境,reduce是更稳妥的选择:

const result = Object.entries(obj.data).reduce((acc, [key, item]) => {
  acc[key] = item.value;
  return acc;
}, {});

两种方法最终都会生成你需要的目标对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 14:01:04