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'}]
Create a free account and build your private vault. Share publicly whenever you want.