How to Remove Duplicate Elements from an Array in JavaScript
When working with arrays in JavaScript, you might encounter situations where you need to remove duplicate elements. This is a common task, and there are several efficient ways to achieve it. In this article, we'll explore different methods to remove duplicates from an array, ranging from simple techniques to more advanced approaches.
1. Using Set
ts
1 const arrayWithDuplicates = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8];2 const uniqueArray = [...new Set(arrayWithDuplicates)];34 console.log(uniqueArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8]
2. Using filter() and indexOf()
ts
1 const arrayWithDuplicates = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8];2 const uniqueArray = arrayWithDuplicates.filter((item, index) => {3 return arrayWithDuplicates.indexOf(item) === index;4 });56 console.log(uniqueArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8]
3. Using reduce()
ts
1 function removeDuplicates(arr: string[]): string[] {2 const unique = arr.reduce(function (acc, curr) {3 curr.trim();4 if (!acc.includes(curr)) {5 acc.push(curr);6 }7 return acc;8 }, []);9 return unique;10 }
4. Using forEach() and includes()
ts
1 const arrayWithDuplicates = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 8];2 const uniqueArray = [];34 arrayWithDuplicates.forEach((item) => {5 if (!uniqueArray.includes(item)) {6 uniqueArray.push(item);7 }8 });910 console.log(uniqueArray); // Output: [1, 2, 3, 4, 5, 6, 7, 8]
5. Using Map
ts
1 const arrayWithDuplicates = [2 { id: 1, name: 'One' },3 { id: 2, name: 'Two' },4 { id: 1, name: 'Three' },5 { id: 3, name: 'Four' },6 ];78 const uniqueArray = [...new Map(arrayWithDuplicates.map((item) => [item.id, item])).values()];910 console.log(uniqueArray);11 // Output: [12 // { id: 1, name: 'Alice' },13 // { id: 2, name: 'Bob' },14 // { id: 3, name: 'Charlie' }15 // ]