mirror of
https://github.com/fmhy/edit.git
synced 2026-02-18 09:11:33 +11:00
comment
This commit is contained in:
parent
e9b921a440
commit
8a920f47d5
1 changed files with 3 additions and 12 deletions
|
|
@ -1,12 +1,3 @@
|
||||||
export function groupBy<T, K extends keyof any>(
|
const arr = [{name: 'Alice', age: 30}, {name: 'Bob', age: 25}, {name: 'Charlie', age: 30}];
|
||||||
arr: T[],
|
const groupedByAge = groupBy(arr, item => item.age);
|
||||||
key: (i: T) => K
|
// groupedByAge is now equal to {25: [{name: 'Bob', age: 25}], 30: [{name: 'Alice', age: 30}, {name: 'Charlie', age: 30}]}
|
||||||
): Record<K, T[]> {
|
|
||||||
return arr.reduce(
|
|
||||||
(groups, item) => {
|
|
||||||
;(groups[key(item)] ||= []).push(item)
|
|
||||||
return groups
|
|
||||||
},
|
|
||||||
{} as Record<K, T[]>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue