Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在react js/javascript中基于属性值对动态对象数组进行分组_Javascript_Arrays_Json_Reactjs_Object - Fatal编程技术网

如何在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}]