国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

數組去重

2024-04-27 15:18:18
字體:
來源:轉載
供稿:網友

1:

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

2:第二種方法遠遠快于其他兩種方法。 但是內存占用方面應該第二種方法比較多,因為多了一個hash表。這就是所謂的空間換時間。

Array.prototype.fun2 = 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;}

3:

Array.prototype.fun3 = 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;}

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

Array.prototype.fun4 = 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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 涪陵区| 海安县| 社旗县| 宜兰县| 康乐县| 封开县| 东源县| 临湘市| 蕉岭县| 临安市| 南雄市| 奉新县| 高青县| 利川市| 山阴县| 藁城市| 阳朔县| 房产| 五华县| 镇沅| 滨海县| 巍山| 江城| 开鲁县| 兴和县| 大连市| 博乐市| 莆田市| 阿坝县| 昭平县| 城市| 白山市| 阜阳市| 清原| 黄浦区| 肃宁县| 南丹县| 惠东县| 马鞍山市| 抚松县|