這篇文章主要介紹了JavaScript數組去重的3種方法和代碼實例,本文直接給出實例代碼,需要的朋友可以參考下
數組去重的方法有很多,到底哪種是最理想的,自己不清楚。于是自己測試了下數組去重的效果和性能。測試十萬個數據,代碼和所耗大概時間如下。
到底采用哪種方法,根據實際情況而定吧。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 /*方法一: 1,'1' 會被認為是相同的; 所有hash對象,如:{x;1},{y:1}會被認為是相同的 //10ms */ Array.prototype.unique=function(){ var newArr=[],obj={}; for(var i=0,len=this.length;i<len;i++){ if(!obj[this[i]]){ newArr.push(this[i]); obj[this[i]]=true; } } return newArr; } /*方法一改進版:所有hash對象,如:{x;1},{y:1}會被認為是相同的 //30ms*/ Array.prototype.unique=function(){ var newArr=[],obj={}; for(var i=0,len=this.length;i<len;i++){ if(!obj[typeof(this[i])+this[i]]){ newArr.push(this[i]); obj[typeof(this[i])+this[i]]=this[i]; } } return
|
新聞熱點
疑難解答