数组去重的两种方法

indexOf()数组去重

核心算法:遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组没有出现过,就添加,否则不添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function unique(arr) {
if(arr instanceof Array) {
let newArr = [];
for(let i =0;i<arr.length;i++) {
if(newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i])
}
}
return console.log(newArr);
} else {
console.log('error');
}
};
unique([1,5,7,11,5,7,55,88,6,7,5,11]);

Set()数组去重

简述:Set对象是值的集合,你可以按照插入的顺序迭代它的元素。Set中的元素只会出现一次,即Set中的元素是唯一的

1
2
3
4
5
6
7
8
9
function unique(arr) {
if(arr instanceof Array) {
let newArr = [...new Set(arr)];
return console.log(newArr);
} else {
console.log('error');
}
};
unique([1,5,7,11,5,7,55,88,6,7,5,11]);