zoukankan      html  css  js  c++  java
  • 手写数组去重

    //本来以为挺简单,还是天真,考虑,NaN,{}.

    1:arr.splice(i+1,1);//表示插入删除元素,表示删除i+1个元素,1表示删除一个

    //手写数组去重

                             var arr = [1,2,3,3];

    //排序的数组 arr.sort();//排序好了就不写了

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

                             {

                                      if(arr[i]==arr[i+1])

                                      {

                                              arr.splice(i+1,1);

                                              i--;

                                      }

                             }

                             console.log(arr);

    2:ES6去重

    去重的原理:

    Set()结构本身的特性:Set容器 : 无序不可重复的多个value的集合体

    Array.from(v) : 将伪数组对象或可遍历对象转换为真数组

    function unique (arr) {
      return Array.from(new Set(arr))
    }
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
    console.log(unique(arr))
     //[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {}, {}]6方法去重

    3:ES5去重

    function unique(arr){            
            for(var i=0; i<arr.length; i++){
                for(var j=i+1; j<arr.length; j++){
                    if(arr[i]==arr[j]){         //第一个等同于第二个,splice方法删除第二个
                        arr.splice(j,1);
                        j--;
                    }
                }
            }
    return arr;
    }
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
        console.log(unique(arr))
    //[1, "true", 15, false, undefined, NaN, NaN, "NaN", "a", {…}, {…}]     //NaN和{}没有去重,两个null直接消失了

    4:更多参考

    https://segmentfault.com/a/1190000016418021

  • 相关阅读:
    git 常用命令总结
    Activiti(工作流)如何关联业务表
    常见数据结构复杂度
    linux 启动 oracle数据库
    word2vec 入门(三)模型介绍
    数组中出现次数超过一半的数字 -java
    word2vec 入门(二)使用教程篇
    word2vec 入门基础(一)
    Stackoverflow上人气最旺的10个Java问题(转ImportNew)
    leetcode 326. Power of Three(不用循环或递归)
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9945690.html
Copyright © 2011-2022 走看看