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

如何在JavaScript中生成{value, code}格式的键值对数组

嵌套数组转扁平键值对数组解决方案

你需要将后端返回的嵌套结构数组,转换为每个value与对应code一一配对的扁平数组,以下是可行的JavaScript实现方案:

方法一:使用flatMap(推荐)

flatMap可以同时完成映射和扁平化操作,直接得到一维结果:

const originalData = [
  {value: 'FIRST', AvailableValues: [{code: "one"},{code: "two"}]},
  {value: 'SECOND', AvailableValues: [{code: "one"},{code: "two"}]}
];

const transformedData = originalData.flatMap(item => 
  item.AvailableValues.map(codeItem => ({
    value: item.value,
    code: codeItem.code
  }))
);

console.log(transformedData);
// 输出结果:
// [{value: "FIRST", code:"one"}, 
// {value: "FIRST", code:"two"},
// {value: "SECOND", code:"one"},
// {value: "SECOND", code:"two"}]

方法二:map + flat()(兼容旧环境)

如果运行环境不支持flatMap,可以先用map生成二维数组,再用flat()扁平化:

const transformedData = originalData
  .map(item => 
    item.AvailableValues.map(codeItem => ({
      value: item.value,
      code: codeItem.code
    }))
  )
  .flat();

你之前用双层map出错,大概率是因为直接返回了二维数组,没有做扁平化处理,以上两种方法都能解决这个问题,得到你需要的目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:55:28