1.双层for循环
let arr1=[1,2,2,4,5,6,6,6];
function 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(arr1));
2.indexof
function unique(arr) {
for (let i = 0; i < arr.length; i++) {
if(arr.indexOf(arr[i])!=i){
arr.splice(i,1);
i--;
}
}
return arr;
}
console.log(unique(arr1));
3.set方法
function unique(arr){
return [...new Set(arr)];
}
console.log(unique(arr1));
4.map方法
function unique(arr){
let result=[];
let map=new Map();
for(let i of arr){
if(!map.has(i)){
result.push(i);
map.set(i,1)
}
}
return result;
}
console.log(unique(arr1));
5.sort方法
function unique(arr){
let newArr=arr.sort((a,b)=>{ return a-b});
for(let i=0;i<arr.length;i++){
if(arr[i]==arr[i+1]){
arr.splice(i,1);
i--;
}
}
return arr;
}