js 数组去重

数组去重

如何操作呢步骤如下

 <script>
 let arr = [1,'1',2,1,'1',2,3,4,3,4,5,6,5,1,1];
 let newarr = arr.filter((v,i,arr)=>{
//filter方法本身就是找出自己想要的返回给新数组
//这个方法去重非常的好用这个巧用indexof 返回下标只会返回第一个的特性 配合===i来进行数组的过滤
//以上为例当数组里第一个2时indexOf返回的下标是1而index也是1所以会被保存在往后走条件不符合就不会保存 
//1,2,3,4,5,6
        console.log(arr.indexOf(v))
        return arr.indexOf(v) === i
 })
  console.log(newarr)
</script>    

用另一种方法去重

   let arr = [1,1,1,2,2,2,3,3,4,4,5,5];
   
      splice(arr)
       function splice(arr){
        for(let i = 0,len=arr.length; i<len;i++){        
            for(let j=len; j>i;j--){
                   if(arr[i]===arr[j]){
                        arr.splice(j,1)
                   } 
            }
        }    
       }
       console.log(arr)

也可以用reduce方法去重

let arr = [1,3,4,5,6,4,10,89,1,2,2,3,3,4,4,4,4,4,4,];
let newArr = arr.reduce((pre,cur)=>{
            if (!pre.includes(cur)){
                pre.push(cur)
            }
            return pre.sort((a,b)=>{return a-b});

},[]);
console.log(newArr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值