js陣列去重的4個方法

2022-07-12 11:54:09 字數 545 閱讀 6459

我總共想出了三種演算法來實現這個目的:

方法1. 

array.prototype.unique1 = function

()

return

n;}

方法2. 

array.prototype.unique2 = function

(),r=; //

n為hash表,r為臨時陣列

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

遍歷當前陣列

}return

r;}

方法3. 

array.prototype.unique3 = function

()

return

n;}

這個方法的思路是先把陣列排序,然後比較相鄰的兩個值。 排序的時候用的js原生的sort方法,js引擎內部應該是用的快速排序吧。 最終測試的結果是此方法執行時間平均是第二種方法的三倍左右,不過比第一種和第三種方法快了不少。

js陣列去重的4個方法

我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍歷當前陣列 retu...

js陣列去重的4個方法

我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍歷當前陣列 retu...

js陣列去重方法

var arr 1,2,3,4,5,1,2,3 function norepeat arr console.log norepeat arr 結果 1,2,3,4,5 arr.indexof val 這個方法會獲取val所在arr的下標 返回為 true 說明 獲取下標後和index下標對比如果 i...