unzip

import { unzip } from "jsr:@ende/collections";

function

function unzip<T, U>(pairs: readonly [T, U][]): [T[], U[]]

Builds two separate arrays from the given array of 2-tuples, with the first returned array holding all first tuple elements and the second one holding all the second elements.

pairs: readonly [T, U][]

The array of 2-tuples to unzip.

Returns

A tuple containing two arrays, the first one holding all first tuple elements and the second one holding all second elements.

Example: Basic usage

import { unzip } from "@ende/collections/unzip";
import { assertEquals } from "@ende/assert";

const parents = [
  ["Maria", "Jeff"],
  ["Anna", "Kim"],
  ["John", "Leroy"],
] as [string, string][];

const [moms, dads] = unzip(parents);

assertEquals(moms, ["Maria", "Anna", "John"]);
assertEquals(dads, ["Jeff", "Kim", "Leroy"]);

Source