Tip: Remove duplicates from a JavaScript array

Angelos Chalaris · Feb 11, 2021 ·

JavaScript, Array

Removing duplicates from an array in JavaScript can be done in a variety of ways, such as using Array.prototype.reduce(), Array.prototype.filter() or even a simple for loop. But there's an easier alternative. JavaScript's built-in Set object is described as a collection of values, where each value may occur only once. A Set object is also iterable, making it easily convertible to an array using the spread (...) operator.

const nums = [1, 2, 2, 3, 1, 2, 4, 5, 4, 2, 6];

[...new Set(nums)] // [1, 2, 3, 4, 5, 6]

You can wrap this in a helper method, which is exactly what the uniqueElements snippet does. For more complex cases, such as unique objects in an array based on a specific key, you might want to take a look at uniqueElementsBy.

Recommended snippets & collections