在 JavaScript 中,有多種方法可以實現數組去重。以下是一些常用的工具:
Set
Set 是 ES6 引入的一種新的數據結構,它類似于數組,但是它的成員是唯一的,沒有重復的值??梢岳?Set 對象來去除數組中的重復項。
const removeDuplicates = (arr) => {
return [...new Set(arr)];
};
const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = removeDuplicates(arrayWithDuplicates);
console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
filter() 方法
使用數組的 filter()
方法,可以通過遍歷數組并檢查每個元素是否已經存在于一個新數組中來去除重復項。
const removeDuplicates = (arr) => {
return arr.filter((item, index) => arr.indexOf(item) === index);
};
const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = removeDuplicates(arrayWithDuplicates);
console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
reduce() 方法
使用數組的 reduce()
方法,可以通過遍歷數組并將不重復的元素添加到新數組中來去除重復項。
const removeDuplicates = (arr) => {
return arr.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
};
const arrayWithDuplicates = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = removeDuplicates(arrayWithDuplicates);
console.log(uniqueArray); // 輸出: [1, 2, 3, 4, 5]
這些方法都可以有效地去除數組中的重復項。你可以根據你的需求和喜好選擇合適的方法。