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

我有一个这样的对象 -


[{"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}}

我怎样才能做到这一点?


叮当猫咪
浏览 110回答 3
3回答

喵喵时光机

使用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);

森林海

您可以尝试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);

幕布斯7119047

如果你想要对象数组,那么这个呢?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}})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript