js去重的三種方法 md

2022-03-06 20:48:16 字數 858 閱讀 3020

主要記錄的js常用的三種方法進行介紹和總結。

思路:構建乙個新的陣列存放結果

迴圈原來的陣列的每乙個元素,用來與存放結果的陣列進行一一對比

結果陣列裡沒有相等的,就把該元素放在結果陣列中

array.prototype.unique1 = function() 

}if(!repeat)

} return result;

}

思路:

構建乙個新陣列存放結果

將原來的陣列先進行排序

for迴圈檢查原陣列的第i個元素與結果陣列的最後乙個元素是否相同

因為已經排序,所以重複元素都會在相鄰位置上

如果不相同,則存放在結果陣列中

array.prototype.unique2 = function() 

} return result;

}

注意:該陣列要先排序先,所以去重之後的結果也是已經排序過後的了。如果不能改變原來陣列的順序,該方法就不適用了

思路:構建乙個空陣列存放結果陣列

定義乙個空物件

for迴圈原陣列的元素,判斷該元素在結果陣列中不重複的話,就放到結果陣列中,並且將該元素的內容作為物件的乙個屬性,並賦值為true

在對比的時候,每次取出元素,然後到物件中訪問該屬性,如果能夠訪問到,則說明是重複的

array.prototpye.unique3 = function() , result  = ;

for(var i = 0; i < this.length; i ++)

} return result;

}

js陣列去重的三種方法

1.利用陣列操作方法splice實現陣列去重 var arr 1 2,2 3,3 3,4 4,5 6,6 7,7 7,8 8,9 function newarr arr return arr console.log newarr arr 返回結果 1 2,3 4,5 6,7 8,9 2.利用inde...

js陣列去重的三種方法

此方法是比較常用的方法之一,也是es5中比較實用的方法之一。話不多說,上 function newarr arr return arr var arr 1 1,2 5,6 3,5 5,6 8,9 8 console.log newarr arr 此方法也是es5中比較簡單的方法之一,基本思路是新建乙...

JS陣列去重的三種方法

在程式中,通常解決乙個問題的方法有很多種。當然這些不同思路的解決方法,在效能和效率上也有很大差異。以下是數字去重的三種方法,一 迴圈遍曆法 傳統思路 最簡單粗暴的演算法,新建乙個空陣列,然後遍歷原陣列,將不在新陣列中的項新增到新陣列,最後返回新陣列 function compare arr 如果當前...