• 数组去重的多种方法实现


    <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>

  • 相关阅读:
    学点 C 语言(40): 函数 多参函数
    存取 ListBox 列表 回复 "徐强" 的问题
    博客园RSS订阅汇总
    博客园电子期刊2012年2月刊发布啦
    上周热点回顾(3.53.11)
    博客园电子期刊2012年3月刊发布啦
    上周热点回顾(3.264.1)
    上周热点回顾(3.193.25)
    上周热点回顾(4.24.8)
    上周热点回顾(2.273.4)
  • 原文地址:https://www.cnblogs.com/amaya-mei/p/6041035.html
Copyright © 2020-2023  润新知