DEV Community

Cover image for 3 Ways To Remove Duplicates in an Array with JavaScript
Jennifer Bland
Jennifer Bland

Posted on • Originally published at jenniferbland.com

2

3 Ways To Remove Duplicates in an Array with JavaScript

Sometimes you have an array of data and you want to remove all duplicates from the array. In this article, I will show you three ways in which you can do this.

1) Remove duplicates using forEach and includes

The Array includes() method determines whether an array includes a certain value among its entries, returning true or false as appropriate.

With this method, we will create a new empty array. All unique values from our array will be put into this array. We will loop over our array of data and check if the current item is in our new array. If it isn't then we put it in our new array. If it is in our new array then we do nothing.

let myData = [1, 2, 2, 4, 5, 5, 5, 7, 'Hello','World', true, false];

let uniqueValues = [];
myData.forEach((item) => {
    if (!uniqueValues.includes(item)) {
        uniqueValues.push(item);
    }
});

console.log(uniqueValues); // [1, 2, 4, 5, 7, 'Hello', 'World', true, false]
Enter fullscreen mode Exit fullscreen mode

2) Remove duplicates using filter and indexOf

The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present.

The filter() method creates a shallow copy of a portion of a given array, filtered down to just the elements from the given array that pass the test implemented by the provided function.

With this method, we do not have to initially define an empty array. The filter() method will return an array so we just assign this array to a value.

let myData = [1, 2, 2, 4, 5, 5, 5, 7, 'Hello','World', true, false];

let duplicateValues = myData.filter((item, index) => {
    return myData.indexOf(item) == index;
});

console.log(duplicateValues); // [1, 2, 4, 5, 7, 'Hello', 'World', true, false]
Enter fullscreen mode Exit fullscreen mode

3) Remove duplicates using a Set

The Set object lets you store unique values of any type, whether primitive values or object references.

This method requires us to convert our data array to a set. Duplicates will be automatically removed. Then we convert the set back to an array.

let myData = [1, 2, 2, 4, 5, 5, 5, 7, 'Hello','World', true, false];
let uniqueValues = [...new Set(myData)];

console.log(uniqueValues) // [1, 2, 4, 5, 7, 'Hello', 'World', true, false]
Enter fullscreen mode Exit fullscreen mode

Let's Connect

Thanks for reading my article today. If you like my content, please consider buying me a coffee ☕.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

SurveyJS custom survey software

JavaScript Form Builder UI Component

Generate dynamic JSON-driven forms directly in your JavaScript app (Angular, React, Vue.js, jQuery) with a fully customizable drag-and-drop form builder. Easily integrate with any backend system and retain full ownership over your data, with no user or form submission limits.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay