Go to Latest
function groupBy
import { groupBy } from "https://dotland.deno.dev/std@0.181.0/collections/group_by.ts";

Applies the given selector to each element in the given array, returning a Record containing the results as keys and all values that produced that key as values.

Examples

Example 1

import { groupBy } from "https://deno.land/std@0.181.0/collections/group_by.ts";
import { assertEquals } from "https://deno.land/std@0.181.0/testing/asserts.ts";

const people = [
  { name: "Anna" },
  { name: "Arnold" },
  { name: "Kim" },
];
const peopleByFirstLetter = groupBy(people, (it) => it.name.charAt(0));

assertEquals(
  peopleByFirstLetter,
  {
    "A": [{ name: "Anna" }, { name: "Arnold" }],
    "K": [{ name: "Kim" }],
  },
);

Type Parameters

T
K extends string

Parameters

array: readonly T[]
selector: (el: T) => K

Returns

Partial<Record<K, T[]>>