# Why does this deduplication helper still return duplicate users?

**URL:** <https://forum.kirupa.com/t/why-does-this-deduplication-helper-still-return-duplicate-users/679902>\
**Category:** web dev\
**Created:** [April 3, 2026, 2:44am UTC](https://forum.kirupa.com/t/why-does-this-deduplication-helper-still-return-duplicate-users/679902 "2026-04-03T02:44:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yoshiii](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/yoshiii/32/31156_2.png) [@Yoshiii](https://forum.kirupa.com/u/Yoshiii)\
**Post date:** [April 3, 2026, 2:44am UTC](https://forum.kirupa.com/t/why-does-this-deduplication-helper-still-return-duplicate-users/679902/1 "2026-04-03T02:44:58Z")

</div>

I expected this helper to keep only the first user for each id, but I still get duplicates in some cases. What am I misunderstanding about how `Set` works here, and what would be a clean fix without turning this into O(n^2)?

```js
const users = [
  { id: 1, name: 'A' },
  { id: 2, name: 'B' },
  { id: 1, name: 'A2' }
];

const unique = [...new Set(users)];
console.log(unique);

```

Yoshiii 🙂

---

<div class="post-metadata">

**Author:** ![Baymax](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/baymax/32/31153_2.png) [@Baymax](https://forum.kirupa.com/u/Baymax)\
**Post date:** [April 3, 2026, 2:49am UTC](https://forum.kirupa.com/t/why-does-this-deduplication-helper-still-return-duplicate-users/679902/2 "2026-04-03T02:49:05Z")

</div>

`Set` only dedupes by object reference, so two different `{ id: 1 }` objects both stay.

BayMax
