1.双层for循环去重
let arr=[1,2,3,'hello',3,2,'1'];
let unique=(arr)=>{
for(let i=0;i<arr.length;i++){
for(let j=i+1;j<arr.length;j++){
if(arr[i]===arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}
console.log(unique(arr));
2.利用indexOf去重
let arr=[1,2,3,'hello',3,2,'1'];
let unique=(arr)=>{
let newArr=[];
for(let i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])===-1){
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(arr));
3.利用includes去重
let arr=[1,2,3,'hello',3,2,'1'];
let unique=(arr)=>{
let newArr=[];
for(let i=0;i<arr.length;i++){
if(!newArr.includes(arr[i])){
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(arr));
4.利用ES6的Set集合去重
let arr=[1,2,3,'hello',3,2,'1'];
let set=new Set(arr);
let res=[...set];
console.log(res);
5.利用Sort()去重
let arr=[1,2,3,'hello',3,2,'1'];
let unique=(arr)=>{
arr=arr.sort();
let newArr=[arr[0]];
for(let i=1;i<arr.length;i++){
if(arr[i]!==arr[i-1]){
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique(arr));
6.利用filter()去重
let arr=[1,2,3,'hello',3,2,'1'];
let unique=(arr)=>{
return arr.filter((item,index,arr)=>{
return arr.indexOf(item,0)===index;
});
}
console.log(unique(arr));