数组去重的三种方法

一、利用indexOf方法剔除

1
2
3
4
5
6
7
8
9
10
var newArr = [] 
function removeArr (arr) {
for (var i = 0;i < arr.length; i++){
// 如果等于-1的话,push进newArr
if(newArr.indexOf(arr[i] === -1)) {
newArr.push(arr[i])
}
}
return newArr
}

二、利用sort方法相邻比较

1
2
3
4
5
6
7
8
9
10
11
12
13
function removeArr(arr) {
// 先排序,这样相同的值都是相邻的
arr.sort()
// 先把第一个值放进新数组
var newArr = [arr[0]]
for(var i = 1;i < arr.length;i++) {
// 如果旧数组的值与新数组的值不一样就Push i
f(arr[1] !== newArr[newArr.length - 1]) {
newArr.push(arr[i])
}
}
return newArr
}

三、利用对象属性名是否重复