js陣列去重的幾種方法

2021-09-24 16:35:54 字數 2108 閱讀 2403

陣列去重,這個知識點很重要,很多面試的地方都會問這個這個問題,我總結了一下

第一種方法 ,最基本的去重方法,

var arr =[1

,2,5

,8,9

,6,3

,4,0

,4,7

,5,2

,0,3

];function

unique

(arr)}if

(!repeat)

}return res;

} console.

log(

unique

(arr));

//(10) [1, 2, 5, 8, 9, 6, 3, 4, 0, 7]

每一步進行解釋:

function

unique

(arr)

}// 上面的**執行完之後如果 repeat 為true的話,說明相等,如果不想等的話,這個repeat就是false 取反就是 true ,將迴圈到的舊陣列中的這個數推送到,新陣列中,然後,在此迴圈if(

!repeat)

}return res;

} console.

log(

unique

(arr)

);

先排序在進行去重

var arr =[1

,2,5

,8,9

,6,3

,4,0

,4,7

,5,2

,0,3

];function

unique

(arr)

}return res;};

console.

log(

unique

(arr));

每一步進行解釋:

var arr =[1

,2,5

,8,9

,6,3

,4,0

,4,7

,5,2

,0,3

];function

unique

(arr)

}return res;};

console.

log(

unique

(arr));

-->[0

,1,2

,3,4

,5,6

,7,8

,9]

利用物件的屬性進行去重 :

var arr =[1

,2,5

,8,9

,6,3

,4,0

,4,7

,5,2

,0,3

];function

unique

(arr)

;for

(var i =

0; i < arr.length; i++)}

return res;

} console.

log(

unique

(arr));

每一步進行解釋:

var arr =[1

,2,5

,8,9

,6,3

,4,0

,4,7

,5,2

,0,3

];function

unique

(arr)

;for

(var i =

0; i < arr.length; i++)}

return res;

} console.

log(

unique

(arr)

);

利用下標進行查詢 :

function

unique

(arr)

}return newarr;

} console.

log(

unique

(arr)

);

進過實驗,上面**沒有什麼問題,如果有問題,請指出!!

js 陣列去重的幾種方法

問題 隨機10個不相同的數 數值範圍11 25之間的 並且存放到陣列中 函式 隨機生成乙個從min到max的數 function randfn min,max 方法1 遍歷已存入的數和當前隨機的數比較,引入開關判斷是否存放 var arr for var i 0 i 10 i if flag con...

js陣列去重的幾種方法

js陣列去重的幾種常見方法 哎,面試的時候好多時候要做題,這也是常見題目,讓寫乙個陣列去重方法,我網上找了一些,存下來供自己學習,畢竟也不是科班出身 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 fun...

js陣列去重的幾種方法

利用indexof判斷新陣列 傳入陣列 function unique1 arr return tmparr 複製 利用indexof判斷舊陣列 function unique2 arr return tmparr 複製 利用hash查詢 function unique3 arr hash為hash...