如何在react js/javascript中基于属性值对动态对象数组进行分组
我有一个这样的物体-如何在react js/javascript中基于属性值对动态对象数组进行分组,javascript,arrays,json,reactjs,object,Javascript,Arrays,Json,Reactjs,Object,我有一个这样的物体- [{"genericName":"genesName test","genericId":3,"code":"generics"},{"genericName":"genesName fhfghsd","genericId":8,"code":"generics"},{&quo
[{"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}}
我想把它做成这样-
[{"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}}
我该怎么做?您可以尝试
数组的映射方法:
const obj=[{
“genericName”:“genesName测试”,
“genericId”:3,
“代码”:“泛型”
}, {
“genericName”:“genesName fhfghsd”,
“genericId”:8,
“代码”:“泛型”
}, {
“genericName”:“genesName fhld”,
“genericId”:11,
“代码”:“泛型”
}]
const mapObjToResult=(项目、idx、arr)=>{
返回{
[项目代码]:{
genericId:item.genericId
}
}
}
常量结果=对象映射(mapObjToResult);
控制台日志(结果)
您可以尝试数组
的映射
方法:
const obj=[{
“genericName”:“genesName测试”,
“genericId”:3,
“代码”:“泛型”
}, {
“genericName”:“genesName fhfghsd”,
“genericId”:8,
“代码”:“泛型”
}, {
“genericName”:“genesName fhld”,
“genericId”:11,
“代码”:“泛型”
}]
const mapObjToResult=(项目、idx、arr)=>{
返回{
[项目代码]:{
genericId:item.genericId
}
}
}
常量结果=对象映射(mapObjToResult);
控制台日志(结果)代码>如果您想拥有对象数组,那么这一个
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}})
如果你想有对象数组,那么这个
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}})
使用映射和分解
const数据=[
{genericName:“genesName测试”,genericId:3,代码:“generics”},
{genericName:“genesName fhfghsd”,genericId:8,代码:“generics”},
{genericName:“genesName fhld”,genericId:11,代码:“generics”},
];
const res=data.map({code,genericId})=>({[code]:{genericId}));
控制台日志(res)代码>使用映射和分解
const数据=[
{genericName:“genesName测试”,genericId:3,代码:“generics”},
{genericName:“genesName fhfghsd”,genericId:8,代码:“generics”},
{genericName:“genesName fhld”,genericId:11,代码:“generics”},
];
const res=data.map({code,genericId})=>({[code]:{genericId}));
控制台日志(res)代码>你的意思是这样对他们分组吗{“generics”:[3,8,11]}
问题似乎有点模糊。@srx,它将如下所示:(这里泛型部分是静态的,我可以用-[{“genericName”:“genesName test”,“genericId”:3“},{“genericName”:“genesName fhfghsd”,“genericId”:8},{“genericName”:“genesName fhld”,“genericId”:11}更改对象)你的意思是这样分组吗?{“generics”:[3,8,11]}
问题似乎有点模糊。@srx,它将如下所示:(这里泛型部分是静态的,我可以用-[{“genericName”:“genesName test”,“genericId”:3“},{“genericName”:“genesName fhfghsd”,“genericId”:8},{“genericName”:“genesName fhld”,“genericId”更改对象:11}]