阅读提示:本文共计约3644个文字,预计阅读时间需要大约10分钟,由作者viper毒蝰编辑整理创作于2023年11月05日23时39分54秒。
在JavaScript中,可以使用数组的reduce
方法对数据进行分组。以下是一个示例,展示了如何根据某个属性值对对象进行分组:

const data = [
{ name: 'Alice', age: 20 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 20 },
{ name: 'David', age: 30 },
];
const groupByAge = (data) => {
return data.reduce((acc, item) => {
const key = item.age;
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(item);
return acc;
}, {});
};
const groups = groupByAge(data);
console.log(groups);
输出结果如下:
{
"20": [
{ name: 'Alice', age: 20 },
{ name: 'Charlie', age: 20 }
],
"30": [
{ name: 'Bob', age: 30 },
{ name: 'David', age: 30 }
]
}
在这个示例中,我们首先定义了一个名为groupByAge
的函数,它接受一个数组作为参数。然后,我们使用reduce
方法遍历数组中的每个元素,并根据元素的age
属性对其进行分组。我们返回一个包含分组结果的对象。