groupBy
groupBy<
T,
K extends string | number | symbol,
>(
array: T[],
keySelector: (item: T) => K,
): Record<K, T[]>Source: array.ts:33
Groups array elements by a key selector
Type Parameters
T— Array element typeKextendsstring | number | symbol— Key type (must be string | number | symbol)
Parameters
array(T[]) — The input arraykeySelector((item: T) => K) — Function to extract the grouping key
Returns
Record<K, T[]>— Object with grouped elements
Example
CODE
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 25 }
]
groupBy(users, u => u.age)
// { 25: [{ name: 'Alice', age: 25 }, { name: 'Charlie', age: 25 }], 30: [{ name: 'Bob', age: 30 }] }