Skip to main content

Function: union()

Call Signature

union<T>(items1, items2, isEqual?): T[]

Defined in: collection/setOps/index.ts:37

Merges two collections, removing duplicates using a custom comparator.

Similar to Set union operation but works with objects and custom equality.

Type Parameters

T

T

Parameters

items1

readonly T[]

First collection

items2

readonly T[]

Second collection

isEqual?

Comparator<T>

Custom equality function (defaults to reference equality)

Returns

T[]

Union of both collections without duplicates

Example

// Data-first - with primitive values
union([1, 2, 3], [3, 4, 5])
// => [1, 2, 3, 4, 5]

// With objects and custom comparator
const users1 = [{ id: 1, name: 'Alice' }]
const users2 = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]

union(users1, users2, (a, b) => a.id === b.id)
// => [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]

// Data-last (in pipe)
pipe(
users1,
union(users2, (a, b) => a.id === b.id)
)

See

  • intersect - for finding common elements
  • symmetricDiff - for finding differences

Call Signature

union<T>(items2, isEqual?): (items1) => T[]

Defined in: collection/setOps/index.ts:42

Merges two collections, removing duplicates using a custom comparator.

Similar to Set union operation but works with objects and custom equality.

Type Parameters

T

T

Parameters

items2

readonly T[]

Second collection

isEqual?

Comparator<T>

Custom equality function (defaults to reference equality)

Returns

Union of both collections without duplicates

(items1): T[]

Parameters

items1

readonly T[]

Returns

T[]

Example

// Data-first - with primitive values
union([1, 2, 3], [3, 4, 5])
// => [1, 2, 3, 4, 5]

// With objects and custom comparator
const users1 = [{ id: 1, name: 'Alice' }]
const users2 = [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]

union(users1, users2, (a, b) => a.id === b.id)
// => [{ id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }]

// Data-last (in pipe)
pipe(
users1,
union(users2, (a, b) => a.id === b.id)
)

See

  • intersect - for finding common elements
  • symmetricDiff - for finding differences