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>

  • 相关阅读:
    使用正则表达式验证密码长度
    创建字符串
    洛谷P1605 迷宫 深度搜索 模板!
    洛谷P5534 【XR-3】等差数列 耻辱!!!
    搜索字母a或A
    洛谷P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here
    19新生赛 质数中的质数
    洛谷P1055 ISBN号码
    洛谷P 1427 小鱼的数字游戏
    洛谷p1047 校门外的树
  • 原文地址:https://www.cnblogs.com/amaya-mei/p/6041035.html
Copyright © 2011-2022 走看看