Back to Home
Arrays

How to Get Unique Values from Array

Use Set to remove duplicates from an array

Quick Answer (2024 ES6+ Way)

javascript
const numbers = [1, 2, 2, 3, 3, 4, 5, 5];
const unique = [...new Set(numbers)];
console.log(unique); // [1, 2, 3, 4, 5]

Live Example

javascript
const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' }
];

// Simple array
const tags = ['js', 'css', 'js', 'html', 'css'];
const uniqueTags = [...new Set(tags)];
console.log(uniqueTags);

// Objects by property
const uniqueUsers = users.filter((user, index, self) =>
  index === self.findIndex(u => u.id === user.id)
);
console.log(uniqueUsers);

Common Variations

Unique by Property
javascript
const unique = [...new Map(
  items.map(item => [item.id, item])
).values()];
Case Insensitive Unique
javascript
const unique = [...new Set(
  arr.map(s => s.toLowerCase())
)];

❌ Don't Do This (Outdated Way)

Avoid nested loops for uniqueness

javascript
// DON'T DO THIS
var unique = [];
for (var i = 0; i < arr.length; i++) {
  if (unique.indexOf(arr[i]) === -1) {
    unique.push(arr[i]);
  }
}

Browser Support

Works in all modern browsers (ES2015+)

#array#unique#set