方法一: ES6方法:
new Set(arr)//返回值为类数组,可以用Array.from(new Set(arr))转换一下
Array.from(new Set(arr))
//扩展运算符:
[...new Set(arr)]
方法二: 双重指针:
原理:left、right指针,让right对应值与left对应值做比较,相同,right++,不同,left++,right对应值赋予left,right++,直到right走到头,查看left当前的位置,就是不重复数组的结尾,截取数组
removeDup(arr){
let left = 0;
for(let right = 1; right<arr.length;right++){
if(arr[right]===arr[left]){
continue
}else{
left++
arr[left] = arr[right]
}
}
return arr.slice(0,left+1)
}