数组去重不再难:快速、简单、有效的方法

50 阅读1分钟

1.数组去重---Set实现

2.数组去重---两次循环

3.数组去重---indexOf实现

4.数组去重---includes实现

5.数组去重---filter实现

//es6
let l_arr=new Set([1,2,2,3,4,5,4])
let new_arr=[...l_arr] //[1,2,3,4,5]
let arr=[1,2,2,3,4,5,4]
function unique(arr){
  for(var i=0,len=arr.length;i<len;i++){
    for(var j=i+1,len=arr.length;j<len;j++){
      if(arr[i]===arr[j]){
        arr.splice(j,1)
        j--
        len--
      }
    }
  }
  return arr
}
const res=unique(arr) //[1,2,3,4,5]
let arr=[1,2,2,3,4,5,4]
function unique(arr){
  let res=[]
  for(var i=0;i<arr.length;i++){
    if(res.indexOf(arr[i])===-1){
      res.push(arr[i])
    }
   
  }
  return res
}
const res=unique(arr) //[1,2,3,4,5]
let arr=[1,2,2,3,4,5,4]
function unique(arr){
  let res=[]
  for(var i=0;i<arr.length;i++){
    if(!res.includes(arr[i])){
      res.push(arr[i])
    }
   
  }
  return res
}
const res=unique(arr) //[1,2,3,4,5]
let arr=[1,2,2,3,4,5,4]
function unique(arr){
  return arr.filter((item,index)=>{
    return arr.indexOf(item)===index 
    //arr.indexOf(item) 下标值是:0,1,1,3,4,5,4
    //index 是0,1,2,3,4,5,6
  })
 
}
const res=unique(arr) //[1,2,3,4,5]