要去重的数组:var arr = [1, 2, 3, 4, 4, 5, 5, 6, 7, 8, 8];
1、ES6的Set结构
set结构类似于数组,但是set中没有重复值
var newArr = new Set(arr);
arr = Array.from(newArr); //或者arr = [...newArr]
2、indexOf()方法
var newArr = [];
for(let i=0; i<arr.length; i++){
if(newArr.indexOf(arr[i]) == -1){
newArr.push(arr[i]);
}
}
3、利用object属性名不重复的特性
var obj = {};
for(key in arr){
obj[arr[key]] = 0;
}
arr = Object.keys(obj).map(Number);
4、先排序,再相邻比较去重
arr.sort((a,b) => { //排序
return a-b;
})
for(var i=0; i<arr.length-1;){
if(arr[i] == arr[i+1]){
arr.splice(i, 1);
}else{
i++;
}
}