1. 程式人生 > >js實現數組去重(方式大匯總)

js實現數組去重(方式大匯總)

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實現數組去重(方式大匯總)