数组去重的方法(持续更新中..........)

方法 1

//  方法 1     适合 一维数组   多维数组 去重  降维后  去重
var  arr = [1,2,3,4,5,6,6,7];

for(var i = 0 ,newArr=[];i<arr.length;i++){

//     利用indexOf()  查找第一次出现指定字符的下标  如果没有找到 返回  -1  

    if(newArr.indexOf(arr[i]) === -1 ){
    
         //数组的API push  方法    会往数组结尾添加 元素  并返回数组的长度
         
         newArr.push(arr[i])
         
     }
}
  console.log(newArr) // [1,2,3,4,5,6,7];-->返回新数组  不改变原数组

方法 2

var  arr = [1,2,3,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(arr[i],1)
                   
                        j--;
                 }       
             }
       }
       console.log(arr)//[1,2,3,4,5,6,7];
 /*代码 优化
  //  【前一个  值  和  后一个 作比较    如果相等  删除 其中一个】
     for(var i = 0 ,j = i+1;  j < arr.length && i<arr.length;j++,i++){
              if(arr[i]===arr[j]){
                   arr.splice(arr[i],1)     
                 }       
       }
*/

方法 三

//ES6 Set 对象        
//new  Set([iterable]); 
// 如果传递的参数是 一个可迭代的对象 它的所有元素将不重复的被添加到Set对象中 ,
//如果不指定此参数  或者 传入的值为 null ,则新Set为空 size为0    即   【**Set集合中的值是唯一的**】  
var  arr = [1,2,3,4,5,6,6,7];
//利用数组的解构  
//1.将  new Set()  返回的 集合  ---> 对象   
//2.将对象打散    放进数组中 
/*
  new  Set(arr)   --->  返回的 集合为 :{1, 2, 3, 4, 5, 6,7} 
*/
console.log([...new Set(arr)])//[1, 2, 3, 4, 5, 6, 7]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值