API reference › @evolu/common › Array › dedupeArray
Call Signature
function dedupeArray<T>(
array: readonly [T, T] | [T, ...T[]],
by?: (item: T) => unknown,
): readonly [T, T];
Defined in: packages/common/src/Array.ts:508
Returns a new readonly array with duplicate items removed. If by is
provided, it will be used to derive the key for uniqueness; otherwise values
are used directly. Dedupes by reference equality of values (or extracted keys
when by is used).
Preserves non-empty type.
Example
// Dedupe primitives by value
dedupeArray([1, 2, 1, 3, 2]); // [1, 2, 3]
// Dedupe objects by property
dedupeArray(
[
{ id: 1, name: "Alice" },
{ id: 2, name: "Bob" },
{ id: 1, name: "Alice 2" },
],
(item) => item.id,
); // [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }]
Call Signature
function dedupeArray<T>(
array: readonly T[] | T[],
by?: (item: T) => unknown,
): readonly T[];
Defined in: packages/common/src/Array.ts:513
Possibly empty array.