美文网首页
数组去重的的方法

数组去重的的方法

作者: 黑白说程序 | 来源:发表于2020-11-11 16:38 被阅读0次

    1、使用new Set去重

    var num = [1, 22, 22, 3, 4, 5, 1]
    var newnum = Array.from(new Set(num))  
    console.log(newnum); //  [1, 22, 3, 4, 5] 
    

    2、使用for嵌套循环删除重复的值

    var num = [1, 22, 22, 3, 4, 5, 1]
    for (let index = 0; index < num.length; index++) {
    for (let indey = index + 1; indey < num.length; indey++) {
            if (num[index] === num[indey]) {
              num.splice(indey,1)
              index--; //防止数组产生数组塌陷
            }}}
    console.log(num);  //  [1, 22, 3, 4, 5] 
    

    3、indexof判断新数组是否包含这个相同值 ,如果不等于-1也就是新数组没有这个值就push到新数组中

     var newarr=[] //新建一个新数组存储值
        for (let index = 0; index < num.length; index++) {
            if(newarr.indexOf(num[index]) ===-1 ){ //判断新数组是否包含这个值
              newarr.push(num[index])
            }
        }
        console.log(newarr);  //  [1, 22, 3, 4, 5] 
    

    es6中的includes原理差不多 if(newarr.includes(num[index]))

    4、使用sort排序后,对相邻2个数据进行比较

        var num = [1, 22, 22, 3, 4, 5, 1]
        var num= num.sort();
        var newarray=[num[0]] //首先要把第一个值赋值到新数组中
        console.log(newarray);
        for (let index = 1; index < num.length; index++) {
          if( num[index] !== num[index-1]){  //第1个和第0个不相同则push到数组中 第一次循环也是相当和新数组的值比较
            newarray.push(num[index])
          }
        }
        console.log(newarray); //  [1, 22, 3, 4, 5] 

    相关文章

      网友评论

          本文标题:数组去重的的方法

          本文链接:https://www.haomeiwen.com/subject/udgebktx.html