Reactjs 如何按id对此阵列进行分组?

Reactjs 如何按id对此阵列进行分组?,reactjs,Reactjs,对该对象数组进行排序 [ { 颜色:“000000”, id:1, 图像:“”, 语言类型:1, 名称:“黑色”, 产品属性ID:1, 排序器:1 }, { 颜色:“000000”, id:1, 图像:“”, 语言类型:2, 姓名:“สีดำ" 产品属性ID:1, 排序器:1, }, { 颜色:“ffffff”, id:2, 图像:“”, 语言类型:1, 名称:“白色”, 产品属性ID:1, 排序:2 }, { 颜色:“ffffff”, id:2, 图像:“”, 语言类型:2, 姓名:“ขาว"

对该对象数组进行排序 [ { 颜色:“000000”, id:1, 图像:“”, 语言类型:1, 名称:“黑色”, 产品属性ID:1, 排序器:1 }, { 颜色:“000000”, id:1, 图像:“”, 语言类型:2, 姓名:“สีดำ" 产品属性ID:1, 排序器:1, }, { 颜色:“ffffff”, id:2, 图像:“”, 语言类型:1, 名称:“白色”, 产品属性ID:1, 排序:2 }, { 颜色:“ffffff”, id:2, 图像:“”, 语言类型:2, 姓名:“ขาว", 产品属性ID:1, 排序:2 }, { 颜色:“C0C0”, id:3, 图像:“”, 语言类型:1, 姓名:“格雷”, 产品属性ID:1, 排序:3 }, { 颜色:“C0C0”, id:3, 图像:“”, 语言类型:2, 姓名:“สีเทา", 产品属性ID:1, 排序:3 }, { 颜色:“B300”, id:4, 图像:“”, 语言类型:1, 名称:“黄金”, 产品属性ID:1, 排序:4 }, { 颜色:“B300”, id:4, 图像:“”, 语言类型:2, 姓名:“โกลเด้น", 产品属性ID:1, 排序:4 }
]

如果您有一个对象数组,其中每个对象都有一个id,那么您可以执行以下操作:

array.sort((a - b) => a.id - b.id);
你可以

数据=[{
颜色:“000000”,
id:1,
图像:“”,
语言类型:1,
名称:“黑色”,
产品属性ID:1,
排序器:1
},
{
颜色:“000000”,
id:2,
图像:“”,
语言类型:1,
名称:“蓝色”,
产品属性ID:1,
排序器:1
},
{
颜色:“000000”,
id:1,
图像:“”,
语言类型:1,
名称:“绿色”,
产品属性ID:1,
排序器:1
}
];
函数groupByField(数据,字段){
const groupedByObject=data.reduce((acc,val)=>{
常量rest=Object.keys(val).reduce((newObj,key)=>{
如果(键!==字段){
newObj[key]=val[key]
}
返回newObj;
}, {});
如果(acc[val[字段]]){
acc[val[字段]]推送(休息);
}否则{;
acc[val[字段]]=[rest];
}
返回acc;
}, {})
return Object.keys(groupedByObject.map)(key=>({[field]:key,items:groupedByObject[key]}))
}
a=groupByField(数据,“id”);
console.log(“按Id分组”)
控制台日志(a);
b=groupByField(数据,“languageId”);
log(“按languageId分组”)

console.log(b);
这些不是元素。这些是字符串。甚至不确定其格式。对象数组?这是对象数组吗?