zoukankan      html  css  js  c++  java
  • 数组去重几种方法

    方法一使用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
          }
  • 相关阅读:
    TCP和UDP区别
    session和cookie的区别
    2019 腾讯正式批笔试题题解
    modCount干嘛的
    分布式系统唯一ID生成方案汇总
    分布式数据库名词
    快手第一题
    南柯一梦
    349. 两个数组的交集
    synchronized锁优化
  • 原文地址:https://www.cnblogs.com/ressiry/p/10466591.html
Copyright © 2011-2022 走看看