Remove duplicate values from JS array
How can you remove duplicate values from a JavaScript array? Explore simple and effective methods to clean up arrays using built-in features like Set, filter(), and other techniques for unique data handling.
Removing duplicate values from a JavaScript array is a common task, and thankfully, JavaScript offers several easy ways to handle it. Whether you're cleaning up user input, processing data, or just organizing a list, here's how you can do it effectively.
Method 1: Using a Set (ES6)
The simplest and most popular way:
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
- Set automatically removes duplicates.
- The spread operator (...) converts the Set back to an array.
Method 2: Using filter() and indexOf()
This is another common method that works in all browsers:
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = numbers.filter((value, index, self) => self.indexOf(value) === index);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
It keeps only the first occurrence of each value.
Method 3: For Complex Objects (using reduce() or custom logic)
For arrays of objects, you’ll need more advanced logic, like comparing specific keys.
Quick Tips:
- Use Set for quick and clean results with primitive values.
- Use filter() if you want more control or need older browser support.
- For large datasets, performance may vary—test your method when needed.
Removing duplicates keeps your data clean and efficient. With these simple tools, JavaScript makes it a breeze!