数组去重的多种方法实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重的多种方法实现相关的知识,希望对你有一定的参考价值。

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

以上是关于数组去重的多种方法实现的主要内容,如果未能解决你的问题,请参考以下文章

js实现数组去重的方式(7种)

数组去重的多种方法

js实现数组去重的三个方法数组的快速排序

js数组去重的5种算法实现

9种JavaScript数组去重的高阶方法

JS数组去重的方法汇总