1. 程式人生 > 其它 >js 陣列去重

js 陣列去重

1:使用indexOf()去重

原理:陣列.indexOf(item) 返回的是item在這個陣列中第一次出現位置的索引值

例子:[1,1,2,2,3],當第二個1出現的時候返回的索引值是0

 1 function unique(arr){
 2     for(var i = 0;i<arr.length;i++){
 3         if(arr.indexOf(arr[i]) != i){
 4             console.log(arr,111)
 5             arr.splice(i,1)//第一個引數是要刪除的陣列起始位置的索引值,第二個是要刪除的個數。
6 } 7 } 8 return arr 9 } 10 let arr = [1,1,2,3,3,4] 11 console.log(unqit(arr),222)

2:使用includes()去重

原理:建立一個新陣列,每次迴圈檢測,如果新數組裡面不包含當前值,就把當前值新增進新數組裡面

 1 function unqit(arr){
 2     var newArr = []
 3     for(var i = 0;i<arr.length;i++){
 4         if(!newArr.includes(arr[i])){
 5             newArr.push(arr[i])
6 } 7 } 8 return newArr 9 } 10 let arr = [1,1,2,3,3,4] 11 console.log(unqit(arr),222)

3:使用set()去重

1 let arr = [1,1,2,2,3,4]
2 
3 let newArr = new Set(arr) //得到一個類陣列
4 
5 //Set(4) {1,2,3,4}
6 
7 let uniqueArr = Array.from(newArr)
8 
9 console.log(uniqueArr )//[1,2,3,4]