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]  
    
  • 相关阅读:
    九九乘法表
    判断and ,or
    格式化输出
    标志位
    循环
    ECMA-262规范定义的七种错误类型
    主流浏览器内核
    代理服务器(理解篇)
    前端常用词汇整理
    LeetCode 451. 根据字符出现频率排序
  • 原文地址:https://www.cnblogs.com/IT123/p/10895790.html
Copyright © 2011-2022 走看看