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>

  • 相关阅读:
    资料工作手册
    这么点破玩艺,昨天我为了学会它,花了六小时
    压力太大,使人过早衰老
    这是真的么。
    我可怜的好友。。。
    操了,上个网怎么就这么憋屈呢
    编程习惯,代码风格,其实很重要
    其实,我并不喜欢脚本语言
    咱也起一卦,看看北京是否还会继续下雨
    我一点不偏激,只是,我从不抱有侥幸思想
  • 原文地址:https://www.cnblogs.com/amaya-mei/p/6041035.html
Copyright © 2011-2022 走看看