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

首頁 > 編程 > JavaScript > 正文

JavaScrip數組去重操作實例小結

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

本文實例講述了JavaScrip數組去重操作。分享給大家供大家參考,具體如下:

內置的for-of方法

<script>var arr=[2,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];function uniqueUseForOf(array) {  const temp = []; //一個臨時數組  // 傳入值必須存在,且長度小于等于1的時候直接返回數組  if (array && array.length <= 1) {    return array;  } else {    //遍歷當前數組    for (let x of array) {      temp.indexOf(x) === -1 ? temp.push(x) : '';    }  }  return temp;}uniqueUseForOf(arr);console.log(uniqueUseForOf(arr))</script>

運行結果:

內置的forEach方法

<script>var arr=[3,1,1,3,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];function uniqueUseForEach(array) {  // 傳入值必須存在,且長度小于等于1的時候直接返回數組  if (array && array.length <= 1) {    return array;  } else {    var temp = []; //一個臨時數組    //遍歷當前數組    array.forEach(function (value, index) {      temp.indexOf(value) == -1 ? temp.push(value) : '';    })    return temp;  }}uniqueUseForEach(arr);console.log(uniqueUseForEach(arr))</script>

運行結果:

萬能的for方法

<script>var arr=[1,1,'','','e','e',true,'true',true,false,false,'false',undefined,'undefined',undefined,null,'null',null];function uniqueUseFor(array) {  var temp = []; //一個臨時數組  //遍歷當前數組  for (var i = 0, j = array.length; i < j; i++) {    //很直白,新數組內判斷是否有這個值,沒有的情況下,就推入該新數組    temp.indexOf(array[i]) === -1 ? temp.push(array[i]) : '';  }  return temp;}uniqueUseFor(arr);console.log(uniqueUseFor(arr))</script>

運行結果:

第一種方法:

<script>var arr = [1, 2, 3, 4, 1, 2, 4, 5, 6];console.log(arr);Array.prototype.unique = 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;};console.log(arr.unique());</script>

第二種方法:

<script>var arr = [1,2,3,4,1,2,4,5,6];console.log(arr);Array.prototype.unique = 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;};console.log(arr.unique());</script>

第三種方法:

<script>var arr = [1,2,3,4,1,2,4,5,6];console.log(arr);Array.prototype.unique = 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;};console.log(arr.unique());</script>

上述三種方法運行結果為:

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

PS:這里再為大家提供幾款相關工具供大家參考使用:

在線去除重復項工具:
http://tools.VeVB.COm/code/quchong

在線文本去重復工具:
http://tools.VeVB.COm/aideddesign/txt_quchong

更多關于JavaScript相關內容還可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript字符與字符串操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 资兴市| 山丹县| 巴林左旗| 鄯善县| 万山特区| 盈江县| 抚顺市| 沙河市| 同心县| 襄垣县| 清涧县| 彰化市| 比如县| 湘西| 内丘县| 高安市| 徐州市| 福建省| 安平县| 清涧县| 佛坪县| 威信县| 通许县| 吴忠市| 龙海市| 盐池县| 房产| 无锡市| 灌云县| 盘锦市| 会东县| 西乌| 凭祥市| 龙里县| 沭阳县| 荃湾区| 华蓥市| 迭部县| 开原市| 黎城县| 宁城县|