For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /reference/fp/unionBy.md.

unionBy (Functional Programming) es-toolkit

Creates a function that combines arrays by a mapped key without duplicates. Use it with pipe.

const result = pipe(array, unionBy(secondArray, mapper));
Info

Prefer the original es-toolkit unionBy in ordinary code. Use this fp variant when composing transformations with pipe.

Usage

unionBy compares the values returned by mapper. It keeps the first value for each mapped key from the piped array, then from secondArray.

import { pipe, unionBy } from 'es-toolkit/fp';

pipe(
  [{ id: 1 }, { id: 2 }],
  unionBy([{ id: 2 }, { id: 3 }], item => item.id)
); // => [{ id: 1 }, { id: 2 }, { id: 3 }]

Parameters

secondArrayreadonly T[]required

The array to combine after the piped array.

mapper(item: T) => Urequired

The function that returns the key used for uniqueness.

Returns

A function that maps a readonly T[] to a union by mapped key.

(array: readonly T[]) => T[]
Source: es-toolkit

Re-exported verbatim from es-toolkit. Implementation, edge cases, and performance behavior are owned upstream. This page mirrors the documentation at the pinned version; the linked source is authoritative.