zoukankan      html  css  js  c++  java
  • JS常见的几种数组去重方法

    总结一下JS中用到的数组去重的方法

     方法一:

    该方法利用对象的属性值不能相同:

    function arrDelLikeElement (array) {
        const result = [];
        const obj = {};
        for(let i in array){
            if(!obj[array[i]]){
                result.push(array[i]);
                obj[array[i]] = i;
            }
        }
        return result;
    }
    arr = arrDelLikeElement(arr);

    方法二:

    该方法使用ES6中的映射方法:

    function arrayDelLikeElement(array) {
        //将传入的数组参数作为javascript中的创建一个Set(集合)对象的方法中的参数
        var arrSet = new Set(array);
        //定义一个空数组用来接收集合循环遍历的值
        var arrEmpty = [];
        for (const value of arrSet) {
            arrEmpty.push(value);
        }
        array=arrEmpty;
        return array
    }
    arrLike = arrayDelLikeElement(arr);

    方法三:

    该方法使用递归调用

    var arr=[1,6,1,2,2,1,3,1,3,4,5,6];
    // 第一步:将数组进行排序
    arr = arr.sort(function(a,b){
        return a-b
    });
    // 第二步编写递归函数
    function mul (arr , i) {
        if(i>=1){
            if(arr[i] === arr[i-1]){
                arr.splice(i,1);
            }
            mul(arr,(i-1));
        }
        return arr;
    }
    mul(arr , arr.length);
    console.log(arr)

     以上方法时常用的方法,后续持续更新新的方法,如果您有更好的方法,可以留言评论,咱们互相讨论!!!

  • 相关阅读:
    9.17
    9.14
    9.13
    9.13
    9.11
    9.28
    10 .19 知识点
    redux
    react路由
    react的三大属性
  • 原文地址:https://www.cnblogs.com/qdclub/p/9975815.html
Copyright © 2011-2022 走看看