- 给数组去除重复元素(原生js)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28// 去除数组重复元素
var arr = [1,2,2,3,5,4,8,6,4,2,47,5,9,3,20,3];
//将数组转为对象,将key传入对象,对象中key值不允许重复
var toNewObject = function(arr){
var obj = {};
var len = arr.length;
for(var i = 0;i<len;i++){
obj[arr[i]] = true;
}
return obj;
}
//将对象转成数组
var toNewArr = function(obj){
var arr = [];
for(var attr in obj){
if(obj.hasOwnProperty(attr)){
arr.push(attr);
}
}
return arr;
}
//通过函数输出筛选后的数组
var unique = function(arr){
var obj = toNewObject(arr);
var newArr = toNewArr(obj);
return newArr;
}
console.log(unique(arr));