js實現數組去重(方式大匯總)
阿新 • • 發佈:2018-06-05
turn return In 存在 特性 var proto dex con
方法一:創建新數組
var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];
3 Array.prototype.reArr = function(){
4 var newArr = [];
5 for(var i = 0; i < this.length; i++){
6 if(newArr.indexOf(this[i])== -1){
7 newArr.push(this[i]);
8 }
9 }
10 return newArr;
11 }
12 var arr2 = arr.reArr();
13 console.log(arr); //[ 1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5 ]
14 console.log(arr2);//[ 1, 23, 3, 5, 6, 7, 9, 8 ]
方法二:利用對象屬性存在的特性,如果沒有該屬性則存入新數組。
function unique3(arr){
var res = [];
var obj = {};
for(var i=0; i<arr.length; i++){
if( !obj[arr[i]] ){
obj[arr[i]] = 1;
res .push(arr[i]);
}
}
return res;
}
console.log(‘------------方法三---------------‘);
console.log(unique3([1,1,2,3,5,3,1,5,6,7,4]));
js實現數組去重(方式大匯總)