## DEV Community

Gabriel Rufino

Posted on • Updated on

# Removing repetitions from Array using the class Set

I was watching a course on Udemy and I figure out a very cool way of removing eventual repetitions of elements of an array.

It is the combination of the class Set with the Spread Operator.

## Set

Allows storage of unique values of any type.

Example of a set:

``````const set = new Set([1, 2, 3, 3, 4, 5, 5])
console.log(set) // Set {1, 2, 3, 4, 5}
``````

It will serve to spread the elements of the resulting Set.

Example of how the spread operator works:

``````const a = [1, 2, 3]
const b = [4, 5, 6]

const c = [...a, ...b]
console.log(c) // [1, 2, 3, 4, 5, 6]
``````

## Combining both

Now, we can combine both and remove the repetitions:

``````const initial = [1, 2, 2, 3, 4, 4, 8, 8]
const set = new Set(initial)
const final = [...set]

console.log(final) // [1, 2, 3, 4, 8]
``````

I think there are two points that are worth clarifying.

1. You aren't removing anything from the array -- you're producing a new array without duplicates.
2. Any information due to ordering of items in the array is lost.

So, this is really about producing an array to represent the set of items in another array, which is what you're actually doing. :)

EDIT: Actually, as Sets are iterated in insertion order, the relative orders are preserved, but not the indices.

Gabriel Rufino • Edited

Hahahaha how much preciousness. Let me guess, are u a functional programmer? Congratz

My intention here isn't to be precise with my words. It's totally possible to understand the "removing"

I'm sorry, Mr. English. But, thank you!!