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

首頁 > 編程 > JavaScript > 正文

JavaScript數組去重的幾種方法效率測試

2019-11-20 08:41:12
字體:
來源:轉載
供稿:網友

以下是我針對網上三種高效率方法總結與效率測試,如果大家有更好的意見或建議也可以提出,大家共勉學習。

數組去重法1:

Array.prototype.unique1 = function(){ console.time("數組去重法1");   //記錄開始執行的時間 var arr = [];    //創建一個臨時數組 var obj = {};   //創建一個空對象 for(var i = 0; i < this.length; i++){   //遍歷當前要去重的數組  if(!obj[this[i]]){   //判斷obj對象中是否存有當前項,沒有則執行   arr.push(this[i]);   //將當前項push到臨時數組中   obj[this[i]] = 1;   //將當前項存入obj對象  } } console.timeEnd("數組去重法1");   //記錄結束執行的時間 return arr;}

數組去重法2:

Array.prototype.unique2 = function(){ console.time("數組去重法2"); //記錄開始執行的時間 var arr = [];  //創建一個臨時數組 for(var i = 0; i < this.length; i++){  //遍歷當前要去重的數組  if(arr.indexOf(this[i]) == -1){  //判斷臨時數組中是否存有當前項,沒有則執行   arr.push(this[i]); //將當前項push到臨時數組中  } } console.timeEnd("數組去重法2"); //記錄結束執行的時間 return arr;}

數組去重法3:

Array.prototype.unique3 = function(){ console.time("數組去重法3"); //記錄開始執行的時間 var arr = [this[0]]; //創建一個臨時數組,并將要去重數組的第一項存入臨時數組 for(var i = 1; i < this.length; i++) { //從要去重數組第二項開始遍歷  if (this.indexOf(this[i]) == i){ //判斷臨時數組中是否存有當前項,沒有則執行   arr.push(this[i]); //將當前項push到臨時數組中  } } console.timeEnd("數組去重法3"); //記錄結束執行的時間 return arr;}

效率測試方法:

var arr1 = []; //創建一個要去重的數組for(var i = 0; i < 200000; i++){ //遍歷200000個數據 arr1.push(parseInt(Math.random() * 10) + 1); //將所有數據返回為隨機數(1-10之間)的數, 并push到要去重的數組中}console.log(arr1.unique1()); //打印數組去重法1的執行時間console.log(arr1.unique2()); //打印數組去重法2的執行時間console.log(arr1.unique3()); //打印數組去重法3的執行時間

效率測試結果:

總結

以上就是關于JavaScript幾種數組去重的方法效率測試,希望測試的結果對大家選擇使用數組去重方法能有所幫助,如果有疑問大家可以留言交流。謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河北区| 隆化县| 屯留县| 崇礼县| 安图县| 绥芬河市| 浏阳市| 攀枝花市| 长葛市| 吐鲁番市| 丰城市| 广宗县| 蓬溪县| 民和| 莎车县| 响水县| 黔西县| 吉木乃县| 铜山县| 阜宁县| 乌审旗| 平舆县| 深泽县| 调兵山市| 肇源县| 辽阳市| 南开区| 且末县| 贺州市| 涪陵区| 全椒县| 天镇县| 湘潭县| 肃北| 神农架林区| 三穗县| 时尚| 阳高县| 秦安县| 景德镇市| 斗六市|