欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS學習筆記之數(shù)組去重實現(xiàn)方法小結(jié)

 更新時間:2019年05月29日 10:49:53   作者:倪曉磊  
這篇文章主要介紹了JS學習筆記之數(shù)組去重實現(xiàn)方法,結(jié)合實例形式總結(jié)分析了javascript數(shù)組去重的5種常見實現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下

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

操作的數(shù)組

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

1、
利用ES6 的set 來進行數(shù)組去重


 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、
雙循環(huán)實現(xiàn)數(shù)組去重

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

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


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  來實現(xiàn)數(shù)組去重



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排序 相同值就會被排列到一起

會對元素組產(chǎn)生操作

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.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

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

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript字符與字符串操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)

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

相關(guān)文章

最新評論