function groupBy
groupBy<T, K>(
list: T[],
keyFn: (item: T) => K
): Map<K, T[]>

Groups items into a Map keyed by the value returned from keyFn.

Examples

Example 1

groupBy([1, 2, 3, 4], (n) => n % 2 === 0 ? "even" : "odd");
// Map { "odd" => [1, 3], "even" => [2, 4] }

const people = [{ role: "admin", name: "A" }, { role: "user", name: "B" }];
groupBy(people, (p) => p.role);
// Map { "admin" => [{...}], "user" => [{...}] }

Type Parameters

Parameters

list: T[]
keyFn: (item: T) => K

Return Type

Map<K, T[]>

Usage

import { groupBy } from ".";