( array: T[], keyOf: (item: T) => K )
| 1 | export const groupBy = <T, K>( |
| 2 | array: T[], |
| 3 | keyOf: (item: T) => K |
| 4 | ): Map<K, T[]> => { |
| 5 | return array.reduce((map, item) => { |
| 6 | const key = keyOf(item); |
| 7 | const list = map.get(key) ?? map.set(key, []).get(key)!; |
| 8 | list.push(item); |
| 9 | |
| 10 | return map; |
| 11 | }, new Map<K, T[]>()); |
| 12 | }; |
| 13 | |
| 14 | export const keyBy = <T, K>(array: T[], keyOf: (item: T) => K): Map<K, T> => { |
| 15 | return array.reduce((map, item) => { |
no test coverage detected