Use Set to remove duplicates from an array
const numbers = [1, 2, 2, 3, 3, 4, 5, 5];
const unique = [...new Set(numbers)];
console.log(unique); // [1, 2, 3, 4, 5]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);const unique = [...new Map(
items.map(item => [item.id, item])
).values()];const unique = [...new Set(
arr.map(s => s.toLowerCase())
)];Avoid nested loops for uniqueness
// DON'T DO THIS
var unique = [];
for (var i = 0; i < arr.length; i++) {
if (unique.indexOf(arr[i]) === -1) {
unique.push(arr[i]);
}
}✓ Works in all modern browsers (ES2015+)