const array = [
{ category: 'fruits', item: 'apple' },
{ category: 'animals', item: 'dog' },
{ category: 'fruits', item: 'banana' },
{ category: 'animals', item: 'cat' },
{ category: 'vegetables', item: 'carrot' }
];
const groupBy = (array, key) => {
return array.reduce((result, currentItem) => {
// 使用 key 函数提取分组键值
const groupKey = key(currentItem);
// 确保 result 对象中有对应分组的数组
if (!result[groupKey]) {
result[groupKey] = [];
}
// 将当前项添加到对应分组的数组中
result[groupKey].push(currentItem);
return result;
}, {});
};
const groupedArray = groupBy(array, item => item.category);
console.log(groupedArray);
使用reduce分组
最新推荐文章于 2024-10-01 20:12:28 发布