为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据 react js / javascript 中的属性值对动态对象数组进行分组

如何根据 react js / javascript 中的属性值对动态对象数组进行分组

叮当猫咪 2023-03-18 15:03:02
我有一个这样的对象 -[{"genericName":"genesName test","genericId":3,"code":"generics"},{"genericName":"genesName fhfghsd","genericId":8,"code":"generics"},{"genericName":"genesName fhld","genericId":11,"code":"generics"}]我想让它像这样 -{"generics": {"genericId": 3}},{"generics": {"genericId": 8}},{"generics": {"genericId": 11}}我怎样才能做到这一点?
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

使用map和解构


const data = [

  { genericName: "genesName test", genericId: 3, code: "generics" },

  { genericName: "genesName fhfghsd", genericId: 8, code: "generics" },

  { genericName: "genesName fhld", genericId: 11, code: "generics" },

];


const res = data.map(({ code, genericId }) => ({ [code]: { genericId } }));


console.log(res);


查看完整回答
反对 回复 2023-03-18
?
森林海

TA贡献2011条经验 获得超2个赞

您可以尝试map以下方法Array:


const obj = [{

  "genericName": "genesName test",

  "genericId": 3,

  "code": "generics"

}, {

  "genericName": "genesName fhfghsd",

  "genericId": 8,

  "code": "generics"

}, {

  "genericName": "genesName fhld",

  "genericId": 11,

  "code": "generics"

}]


const mapObjToResult = (item, idx, arr) => {

  return {

    [item.code]: {

      genericId: item.genericId

    }

  }

}


const result = obj.map(mapObjToResult);


console.log(result);


查看完整回答
反对 回复 2023-03-18
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

如果你想要对象数组,那么这个呢?


let gens = [

  {"genericName":"genesName test","genericId":3,"code":"generics"},

  {"genericName":"genesName fhfghsd","genericId":8,"code":"generics"},

  {"genericName":"genesName fhld","genericId":11,"code":"generics"}

]


result = gens.map(item => ({ [item.code] : {genericId: item.genericId}})


查看完整回答
反对 回复 2023-03-18
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信