// Created on savesnippets.com ยท https://savesnippets.com/AcYaZ2Ri4EcVMH export function uniqueBy(items: readonly T[], key: (item: T) => K): T[] { const seen = new Map(); 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'}]