1.使用 Set:
Set 是 ES6 中引入的一种数据结构,它只允许存储唯一的值,可以利用这一特性来实现数组去重。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [...new Set(array)];
2.使用 indexOf 或 includes 方法:
遍历原数组,将不重复的元素添加到新数组中。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
array.forEach((element) => {
if (uniqueArray.indexOf(element) === -1) {
uniqueArray.push(element);
}
});
或者使用 includes 方法:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = [];
array.forEach((element) => {
if (!uniqueArray.includes(element)) {
uniqueArray.push(element);
}
});
3.使用 filter 方法:
利用 filter 方法和 indexOf 或 includes 方法来创建新数组。
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((element, index, self) => {
return self.indexOf(element) === index;
});
或者使用 includes 方法:
const array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.filter((element, index, self) => {
return !self.includes(element, index + 1);
});
4.使用 reduce 方法:
使用 reduce 方法遍历数组,将不重复的元素添加到累积的结果中。
econst array = [1, 2, 2, 3, 4, 4, 5];
const uniqueArray = array.reduce((accumulator, element) => {
if (!accumulator.includes(element)) {
accumulator.push(element);
}
return accumulator;
}, []);