TypeScript

uniqueBy — Dedupe by Callback

admin by @admin ADMIN
Jun 14, 2026
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Deduplicate an array using a derived key (object id, lowercased email, etc.). First occurrence wins. Backed by a Map for O(n) performance.
TypeScript
Raw
export function uniqueBy<T, K>(items: readonly T[], key: (item: T) => K): T[] {
  const seen = new Map<K, true>();
  const out: T[] = [];
  for (const item of items) {
    const k = key(item);
    if (!seen.has(k)) {
      seen.set(k, true);
      out.push(item);
    }
  }
  return out;
}

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice dup' },
];
uniqueBy(users, u => u.id);   // [{id:1,name:'Alice'}, {id:2,name:'Bob'}]
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.