亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript 數組去重的方法(四種)詳解及實例代碼

2019-11-19 18:50:14
字體:
來源:轉載
供稿:網友

 Javascript 數組去重的四種方法

四種算法來實現這個目的:

第一種方法:

Array.prototype.unique1 = function () { var n = []; //一個新的臨時數組 for (var i = 0; i < this.length; i++) //遍歷當前數組 {  //如果當前數組的第i已經保存進了臨時數組,那么跳過,  //否則把當前項push到臨時數組里面  if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n;}

 第二種方法:

Array.prototype.unique2 = function(){ var n = {},r=[]; //n為hash表,r為臨時數組 for(var i = 0; i < this.length; i++) //遍歷當前數組 { if (!n[this[i]]) //如果hash表中沒有當前項 {  n[this[i]] = true; //存入hash表  r.push(this[i]); //把當前數組的當前項push到臨時數組里面 } } return r;}var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]alert(arr.unique2());

 第三種方法:

Array.prototype.unique3 = function(){ var n = [this[0]]; //結果數組 for(var i = 1; i < this.length; i++) //從第二項開始遍歷 { //如果當前數組的第i項在當前數組中第一次出現的位置不是i, //那么表示第i項是重復的,忽略掉。否則存入結果數組 if (this.indexOf(this[i]) == i) n.push(this[i]); } return n;}

  其中第1種和第3種方法都用到了數組的indexOf方法。此方法的目的是尋找存入參數在數組中第一次出現的位置。很顯然,js引擎在實現這個方法的時候會遍歷數組直到找到目標為止。所以此函數會浪費掉很多時間。 而第2中方法用的是hash表。把已經出現過的通過下標的形式存入一個object內。下標的引用要比用indexOf搜索數組快的多。

    為了判斷這三種方法的效率如何,我做了一個測試程序,生成一個10000長度的隨機數組成的數組,然后分別用幾個方法來測試執行時間。 結果表明第二種方法遠遠快于其他兩種方法。 但是內存占用方面應該第二種方法比較多,因為多了一個hash表。這就是所謂的空間換時間。  就是這個 測試頁面,你也可以去看看。

第四種方法:

Array.prototype.unique4 = function(){ this.sort(); var re=[this[0]]; for(var i = 1; i < this.length; i++) { if( this[i] !== re[re.length-1]) {  re.push(this[i]); } } return re;}

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

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费精品国偷自产在线| 亚洲一区二区三区成人在线视频精品| 国产一区二区视频在线观看| 亚洲国产古装精品网站| 91久久久久久久久久| 亚洲精品日韩欧美| 57pao国产精品一区| 亚洲精品一区中文字幕乱码| 亚洲精品中文字| 国产精品黄视频| 亚洲欧洲日产国产网站| 成人免费黄色网| 69av成年福利视频| 国内外成人免费激情在线视频网站| 国产欧美日韩精品在线观看| 亚洲精品成人免费| 国产一区二区三区免费视频| 97视频在线观看亚洲| 91精品久久久久久综合乱菊| 久久好看免费视频| 日韩成人免费视频| 亚洲欧洲在线免费| 日韩欧美国产视频| 日韩国产高清污视频在线观看| 亚洲精品一区二区在线| 深夜福利一区二区| 狠狠色香婷婷久久亚洲精品| 精品国产精品三级精品av网址| 欧美激情a∨在线视频播放| 国产欧美精品在线播放| 国产精品福利小视频| 91精品国产色综合久久不卡98| 亚洲日本欧美日韩高观看| 992tv在线成人免费观看| 色婷婷**av毛片一区| 中文字幕欧美在线| 久久久精品一区| 国产91成人在在线播放| 欧美午夜电影在线| 亚洲天堂开心观看| 亚洲最大在线视频| 国产精品99久久久久久久久| 国产欧美韩国高清| 亚洲国产精品高清久久久| 亚洲精品按摩视频| 精品高清一区二区三区| 性色av一区二区三区红粉影视| 国产精品美女久久| 主播福利视频一区| 国产欧美一区二区| 国产z一区二区三区| 国内成人精品视频| 国产精品久久久999| 欧美成人激情视频免费观看| 亚洲最大福利视频网| 欧美大全免费观看电视剧大泉洋| 色综合天天综合网国产成人网| 国产精品99久久99久久久二8| 亚洲人成自拍网站| 欧美日韩一二三四五区| 91精品视频在线| 亚洲国产另类 国产精品国产免费| 欧美特黄级在线| 少妇高潮久久久久久潘金莲| 久久精品国产综合| 日韩电影在线观看永久视频免费网站| 欧美裸体xxxx| 欧美激情在线播放| 亚洲国产精品一区二区久| 国产精品伦子伦免费视频| 中国人与牲禽动交精品| 日韩av片永久免费网站| 国产专区欧美专区| 91精品国产高清自在线看超| 高清日韩电视剧大全免费播放在线观看| 久久精品国产一区二区三区| 亚洲国产婷婷香蕉久久久久久| 欧美激情中文网| 日本中文字幕久久看| 国产不卡一区二区在线播放| 97在线免费观看| 精品毛片三在线观看| 国产日产久久高清欧美一区| 亚洲一区久久久| 亚洲欧洲一区二区三区在线观看| 亚洲黄页网在线观看| 国产有码一区二区| 国产在线观看一区二区三区| 色综合视频网站| www.日韩av.com| 久久在线免费观看视频| 日本一欧美一欧美一亚洲视频| 欧美日韩午夜剧场| 久久精品成人一区二区三区| 国产亚洲aⅴaaaaaa毛片| 亚洲理论电影网| 国产一区视频在线播放| 国产亚洲精品美女久久久| 国产成人午夜视频网址| 黄色精品在线看| 91九色国产在线| 久久精品国产一区二区三区| 亚洲最大成人在线| 日韩欧美在线一区| 亚洲美腿欧美激情另类| 国产精品成人在线| 国产精品欧美日韩久久| 色一情一乱一区二区| 17婷婷久久www| 国产一区二区三区中文| 亚洲自拍偷拍在线| 91精品久久久久久久久中文字幕| 2020国产精品视频| 亚洲资源在线看| 久久91精品国产91久久跳| 88国产精品欧美一区二区三区| 69av视频在线播放| 精品网站999www| 超在线视频97| 久久色精品视频| 成人深夜直播免费观看| 国产丝袜一区二区三区| 国产精品黄视频| 96精品久久久久中文字幕| 亚洲精品456在线播放狼人| 亚洲天堂av电影| 91香蕉国产在线观看| 久久久久久久久电影| 中文字幕精品在线| 一个人看的www欧美| 成人av在线网址| 51精品国产黑色丝袜高跟鞋| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品久久视频| 日韩av在线看| 国产精品日韩专区| 久久久电影免费观看完整版| 亚洲аv电影天堂网| 日韩视频免费大全中文字幕| 中文字幕日韩欧美在线视频| 亚洲最大激情中文字幕| 亚洲欧美制服另类日韩| 成人av资源在线播放| 欧美夜福利tv在线| 51视频国产精品一区二区| 亚洲激情成人网| 丝袜情趣国产精品| 国产一区av在线| 4438全国亚洲精品在线观看视频| 九九久久久久久久久激情| 精品视频www| 亚洲第一精品福利| 国产精品香蕉在线观看| 少妇精69xxtheporn| 国产精品极品在线| 黑人狂躁日本妞一区二区三区| 日韩av高清不卡| 性亚洲最疯狂xxxx高清| 黄色一区二区在线观看| 欧美激情视频在线免费观看 欧美视频免费一| 日韩美女视频免费在线观看| 亚洲视频在线看| 欧美色videos| 久久久精品国产网站|