zoukankan      html  css  js  c++  java
  • 数组去重方法

    方法一: ES6 数据去重法

    function noRepeat(arr) {
      return Array.from(new Set(arr));
    }
    console.log(noRepeat([1,1,1,2,3,4])); // [1,2,3,4]
    

    方法二: 数组排序后, 相邻的两元素做比较

    function noRepeat(arr) {
        // 出重数组进行排序
        arr.sort();
        // 取排序后的数组的第一个元素
        var newArr = [arr[0]];
        for(var i in arr) {
        // 遍历出重数组, 遍历的元素与新数组最后一个元素进行比较;如果不同, 则加入新数组
            if(arr[i] !== newArr[newArr.length-1]) {
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    console.log(noRepeat([2,2,3,3,4,4,4])); // [2,3,4]
    

    方法三: 利用对象key的唯一性进行去重

    function noRepeat(arr) {
        var obj = {}, newArr = [];
        for(var i in arr) {
        // 当前遍历元素最为obj的key,若obj.key为undefined,改元素进入新数组
            if(!obj[arr[i]]) {
                obj[arr[i]] = true;
                newArr.push(arr[i]);
            }
        }
        return newArr;
    }
    console.log(noRepeat([1,2,3,4,4,4,4,4])); //[1,2,3,4]  
    
  • 相关阅读:
    ajax代码及简单封装
    web开发中不同设备浏览器的区分
    JS实现带复选框的下拉菜单
    常用浏览器的编码设置
    PHP实现实现数字补零格式化
    Linux杂碎2/SHELL
    OS
    Linux sudoers
    代理缓存服务器squid
    es6
  • 原文地址:https://www.cnblogs.com/IT123/p/10895790.html
Copyright © 2011-2022 走看看