三种不同数组去重的方法

// 第一种  双重for循环

  var arr = [ 1,1,2,3,3,3,3,4,4,5,6,6,7 ] ;

  for (var  i = 0 ; i < arr.length ; i++) {

    for (var  j = i + 1 ; j < arr.length ; j ++) {

      if (arr [ i ] == arr [ j ]) {

        arr.splice ( j , 1 ) ;

        j -- ;

      }

    }

  }

  console.log(arr);

 

// 第二种  使用 indexOf()   封装函数来完成

  function unique(arr) {

    var  newArr = [ ];

    for (var  i = 0 ; i < arr.length ; i ++) {

      if (newArr.indexOf(arr[ i ]) === - 1 ) {   //  在新数组查询旧数组arr[ i ] ,如果没有就等于-1

        newArr.push( arr[ i ] ) ;  //  然后在新数组后追加arr[ i ] 元素;  

      }

    } 

    return  newArr ;

  }

  var arr = [ 1,2,2,3,3,3,4,4,4,4,5,6,7]

  var demo = uniquer(arr) ;

  console.log ( demo ) ;

 

//  第三种方法  循环  includex (回调函数)   判断一个数组是否包含一个指定的值

  var arr = [ 1,2,2,3,3,3,4,4,4,4,5,6,7] ;

  var newArr = [ ] ;   // 声明一个空数组  来存放不重复的元素

  for ( var  i = 0 ; i  < arr. length ;  i ++) {

    if ( ! arr.includex( arr[ i ] ) ) {  //  !  includex ()  就是不包含  ,如果不包含,就在新数组后追加push元素

      newArr.push ( arr[ i ] ) ;

    }

  }

  console.log ( newArr ) ;

posted @   花生和毛豆  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示