Skip to content

groupBy

groupBy<K, A>(keyFn): (items) => ReadonlyMap<K, readonly A[]>

Defined in: Utils/Dict.ts:84

Groups elements of an array into a dictionary keyed by the result of keyFn. Each key maps to the array of elements that produced it, in insertion order. Uses the native Map.groupBy when available, falling back to a manual loop in older environments.

K

A

(a) => K

(items): ReadonlyMap<K, readonly A[]>

readonly A[]

ReadonlyMap<K, readonly A[]>

pipe(
  [{ name: "alice", role: "admin" }, { name: "bob", role: "viewer" }, { name: "carol", role: "admin" }],
  Dict.groupBy(user => user.role),
);
// ReadonlyMap { "admin" => [alice, carol], "viewer" => [bob] }