以下是一个示例代码,演示如何按对象数组的数组进行分组:
// 定义原始数据
const data = [
{ category: "A", value: 1 },
{ category: "B", value: 2 },
{ category: "A", value: 3 },
{ category: "B", value: 4 },
{ category: "C", value: 5 }
];
// 创建一个空对象,用于存储分组结果
const groupedData = {};
// 遍历原始数据并进行分组
data.forEach(item => {
// 检查该对象数组的数组是否已经存在该分组的键
if (!groupedData[item.category]) {
// 若不存在,则创建一个新的键,并将值初始化为空数组
groupedData[item.category] = [];
}
// 将当前对象添加到对应的分组键的数组中
groupedData[item.category].push(item);
});
// 打印分组结果
console.log(groupedData);
运行以上代码,将会输出如下结果:
{
A: [
{ category: "A", value: 1 },
{ category: "A", value: 3 }
],
B: [
{ category: "B", value: 2 },
{ category: "B", value: 4 }
],
C: [
{ category: "C", value: 5 }
]
}
以上代码通过遍历原始数据,并以对象的属性值作为分组的键,将对象添加到对应的分组数组中。
上一篇:按对象数组的属性过滤可观察对象
下一篇:按对象数组的长度筛选文档