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

首頁 > 編程 > JavaScript > 正文

JS學習筆記之數組去重實現方法小結

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

本文實例講述了JS學習筆記之數組去重實現方法。分享給大家供大家參考,具體如下:

操作的數組

 let arr=[0,1,23,'1',4,2,8,5,5,6,9,'asdasd','5']

1、
利用ES6 的set 來進行數組去重


 console.time("set")  let type1=new Set(arr)  console.log(type1)  type1=[...type1]  console.log(type1)  console.timeEnd("set")


2、
  利用indexof和forEach 多次遍歷來搜索是否有相同的值


console.time("indexOf")  let type2=[]  arr.forEach(function(item,index){    if(type2.indexOf(item)<0){      type2.push(item)    }  })  console.log(type2)  console.timeEnd("indexOf")

3、
雙循環實現數組去重

splice() 方法向/從數組中添加/刪除項目,然后返回被刪除的項目。

缺點  會對元素組造成影響,所以建議先拷貝數組


console.time("splice")let arr2=[0,1,23,'1',4,2,8,5,5,6,9,'asdasd','5']  for(let i=0;i<arr2.length;i++){    for(let j=i+1;j<arr2.length;j++){      if(arr2[i]===arr2[j]){        arr2.splice(i,1)      }    }  }  console.log(arr2)console.timeEnd("splice")

4、

利用 對象屬性  不重復的特性  以及 typeof  來實現數組去重



console.time("obj屬性")let obj1={}let type4=[]arr.forEach(function(item,index){  let tf=typeof item  if(!obj1[tf+"_"+item]){    obj1[tf+"_"+item]=true  }})console.log(obj1)for(item in obj1){  type4.push(item.split("_")[0].toLowerCase()=="number"?+item.split("_")[1]:item.split("_")[1])}obj1=null;console.log(type4)console.timeEnd("obj屬性")

5、

利用sort排序 相同值就會被排列到一起

會對元素組產生操作

console.time("sort排序")let arr3=[0,1,23,'1',4,2,8,5,5,6,9,'asdasd','5']arr3.sort()for(let i=0;i<arr3.length;i++){  if(arr3[i]===arr3[i+1]){    arr3.splice(i,1)  }}console.log(arr3)console.timeEnd("sort排序")

效果展示


感興趣的朋友可以使用在線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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 京山县| 焉耆| 五河县| 克东县| 营口市| 达拉特旗| 思南县| 广平县| 河南省| 隆德县| 昆山市| 广东省| 江川县| 玉山县| 邵阳县| 东兰县| 柳林县| 新宁县| 虞城县| 文成县| 平顺县| 疏附县| 临邑县| 崇礼县| 石阡县| 金塔县| 栖霞市| 桃江县| 青铜峡市| 莆田市| 岳阳县| 乐平市| 赤壁市| 织金县| 崇阳县| 西盟| 阿图什市| 那坡县| 萨迦县| 霍林郭勒市| 商洛市|