在 JavaScript 中,有多種方法可以實(shí)現(xiàn)數(shù)組去重。以下是一些常用的工具:
Set
Set 是 ES6 引入的一種新的數(shù)據(jù)結(jié)構(gòu),它類似于數(shù)組,但是它的成員是唯一的,沒(méi)有重復(fù)的值??梢岳?Set 對(duì)象來(lái)去除數(shù)組中的重復(fù)項(xiàng)。
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() 方法
使用數(shù)組的 filter()
方法,可以通過(guò)遍歷數(shù)組并檢查每個(gè)元素是否已經(jīng)存在于一個(gè)新數(shù)組中來(lái)去除重復(fù)項(xiàng)。
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() 方法
使用數(shù)組的 reduce()
方法,可以通過(guò)遍歷數(shù)組并將不重復(fù)的元素添加到新數(shù)組中來(lái)去除重復(fù)項(xiàng)。
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]
這些方法都可以有效地去除數(shù)組中的重復(fù)項(xiàng)。你可以根據(jù)你的需求和喜好選擇合適的方法。