group
@guoba-ai/utils / array / group
Function: group()
function group<T>(array, fn): Partial<Record<string | number | symbol, T[]>>;Defined in: array.ts:206
Group array elements by a key derived from each item.
Parameters
array
T[]
The array to group
fn
(item) => string | number | symbol
Function that returns a key for each item
Returns
Partial<Record<string | number | symbol, T[]>>
An object mapping keys to arrays of matching items
Example
group([1, 2, 3, 4], v => (v % 2 === 0 ? 'even' : 'odd'))
// { odd: [1, 3], even: [2, 4] }
group([{ age: 20 }, { age: 30 }, { age: 20 }], user => user.age)
// { 20: [{ age: 20 }, { age: 20 }], 30: [{ age: 30 }] }
group([], () => 'key') // {}