zoukankan      html  css  js  c++  java
  • 数组去重的多种方法实现

    <script>

        //第一种方式
        var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
        var newArr = [];   //定义一个新的临时数组
        var result = {};   //hash表
        for(var i=0;i<arr.length;i++){    //循环遍历数组
            if(!result[arr[i]]){  //如果遍历到的数组不在hash表中
                result[arr[i]] = true;  //将当前遍历到的数组元素存入到hash表中
                newArr.push(arr[i]);  //将当前元素push到新数组
            }
        }
        console.log(newArr);

        //第二种方法
        var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
        var newArr = [];   //定义一个新的临时数组
        for(var i=0;i<arr.length;i++){   //遍历数组
            if(newArr.indexOf(arr[i])==-1) newArr.push(arr[i]);
            //判断当前元素是否能在临时数组中找到,如果没找到就将其追加到临时数组中,再对当前元素后面的元素继续查找以及比较
        }

        console.log(newArr);

        //第三种方式
        var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组
        arr.sort();   //先将数组排序
        var newArr=[arr[0]];   //定义一个新数组,并将数组第一个元素放到新数组中
        for(var i=0;i<arr.length;i++){
            if(arr[i] !==newArr[newArr.length-1]){ //通过判断相邻两项是否相等,然后项新数组中追加元素,返回新数组
                newArr.push(arr[i]);
            }
        }
        console.log(newArr);

    </script>

  • 相关阅读:
    DailyRollingFileAppender的使用
    CSS自动换行
    MAC与WIN10电脑共享文件
    C++常用STL
    Python机器学习及实践 课后小题
    Mac上利用VScode配置c/c++开发环境
    pycharm+anaconda在Mac上的配置方法 2019.11.29
    二分查找 python实现
    python3相关
    算法图解 各部分回忆
  • 原文地址:https://www.cnblogs.com/amaya-mei/p/6041035.html
Copyright © 2011-2022 走看看