JS去除数组中重复的元素

方法一(Set()方法自带去重):

var mytest_a = [1,2,3,4,5,1,2,3]
 var arr = new Set(mytest_a)     
   /*  var cb = Array.from(arr)       
    console.log(cb); */       
    var cb2 = [...arr]   //将Set对象转换成数组   
    console.log(cb2);

方法二(使用indexOf()方法去重):

let mytest_b = [1,2,3,1,2,3]
     let sArr = []     
       mytest_b.forEach((i,d)=>{      
         if(sArr.indexOf(i) == -1){        
             sArr.push(i)      
          }      
          });    
         console.log('方法二:',sArr);

方法三(使用includes()方法去重):

var arr = [1,2,NaN,1,4,2,NaN]
        var newArr = [];        
        for (var i = 0; i < arr.length; i++) {
                    if (!newArr.includes(arr[i])) {    
                            newArr.push(arr[i]);            
                    }        
           }        
         console.log(newArr);  // [1, 2, NaN, 4]

注意:
indexOf()方法无法识别数组的NaN成员,如下示例:

let mytest_b = [1, 2, 3, 1, 2, 3, NaN, NaN]
        let sArr = []        
        mytest_b.forEach((i, d) => {            
        if (sArr.indexOf(i) === -1) {                
        sArr.push(i)            
        }       
         });        
         console.log('方法二:', sArr);  //结果[1, 2, 3, NaN, NaN]
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值