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

如何在React JS/JavaScript中将对象数组转换为指定键值结构

解决方案:用JavaScript的map()方法实现结构转换

这事儿很容易搞定,JavaScript的map()方法就是干这个的——遍历数组里的每一项,把它们转换成你想要的结构。直接上代码:

// 你的原始数组
const originalData = [
  {"genericName":"genesName test","genericId":3,"code":"generics"},
  {"genericName":"genesName fhfghsd","genericId":8,"code":"generics"},
  {"genericName":"genesName fhld","genericId":11,"code":"generics"}
];

// 转换逻辑
const transformedData = originalData.map(item => {
  return {
    // 用原item的code值作为新对象的键
    [item.code]: {
      // 只保留genericId字段
      genericId: item.genericId
    }
  };
});

// 输出结果就是你想要的结构
console.log(transformedData);

代码解释

  • map()方法会遍历原数组的每一个元素,对每个元素执行我们定义的转换逻辑
  • 这里用了计算属性名[item.code],这样即使以后code字段的值变化了(比如不是"generics"了),代码也能自动适配,不用硬写键名
  • 我们只从原对象里提取了genericId,生成你需要的嵌套结构

如果想要更简洁的写法,还可以用箭头函数的隐式返回(注意要给对象加括号,不然会被当成函数体的大括号):

const transformedData = originalData.map(item => ({
  [item.code]: { genericId: item.genericId }
}));

运行这段代码后,你得到的结果就是:

[
  {"generics": {"genericId": 3}},
  {"generics": {"genericId": 8}},
  {"generics": {"genericId": 11}}
]

内容的提问来源于stack exchange,提问作者Masudul Hasan Shawon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 11:42:43