Tip: Remove duplicates from a JavaScript array

Angelos Chalaris · JavaScript, Array · Jun 12, 2021

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

  • Tips & Tricks

    Snippet collection

    A collection of quick tips and tricks to level up your coding skills one step at a time.

  • Creates an object from an array, using a function to map each value to a key.

  • Map array to object

    JavaScript, Array

    Maps the values of an array to an object using a function.

  • Creates an object from an array, using the specified key and excluding it from each value.