数组去重几种方法

方法一使用ES6:

  function(arr){

    return [ ... new Set(arr) ]
  }

      // 这里使用es6 里的new Set() 方法对数组arr进行去重 然后返回一个对象 解构返回的对象形成一个新的数组

方法二:

新建一个数组,与原数组值进行比较,一个个添加

function(arr){
  let newArr = [ arr[0] ]  
  for ( i=0, i<arr.length,i++){
        for(j=0,j<newArr.length,j++){
            if ( arr[i] === newArr[j] ) 
            { break }
            newArr.push(arr[i])
        }
    }
    return newArr

}            

方法三:

利用对象属性去重

      function(arr){
        // 新建一个空数组 和 一个空对象
        let arrObj={}
        let newArr=[]
        for(i=0,i<arr.length,i++){
          if(!arrObj[arr[i]]){
            // 如果在arrObj里面访问不到 arr[i]属性 就向newArr数组中添加arr[i] 并且向arrObj里面添加arr[i]属性
            newArr.push(arr[i])
            arrObj[arr[i]]='这个数组项已经有了'
          }
        }
        // 循环完毕之后 新数组就已经对arr进行去重了
        return newArr
      }

 

posted @ 2019-03-03 17:39  Ressiry  阅读(198)  评论(0编辑  收藏  举报