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>

  • 相关阅读:
    如何设计工作流引擎?
    产品特点概述驰骋工作流
    驰骋工作流程如何与您的系统进行耦合
    进制转换
    DNS欺骗(转) Anny
    Remember My Account Number(2 schema) Anny
    Mysql中的临时表使用方法(转) Anny
    Mysql任务调度(Event Schedular) Anny
    Using ssh connect to Amazon EC2 instance Anny
    Amazon EC2名词项目笔记(转) Anny
  • 原文地址:https://www.cnblogs.com/amaya-mei/p/6041035.html
Copyright © 2011-2022 走看看