• 数组去重的三种方法


    function quchong(arr){
        let brr = [];
        for(var i = 0;i<arr.length;i++){
            if(brr.indexOf(arr[i]) < 0){
               brr.push(arr[i]);    
            }
        }
        return brr;
    }
    
    function quchong(arr){
        let obj = {};
        let brr = [];
        for(var i=0;i<arr.length;i++){
            if(!obj[arr[i]]){
                obj[arr[i]] = 1;
                brr.push(arr[i]);
            }
        }
        return brr;
    }
    

      上面去重的方法老生常谈了,一种是用数组的indexOf的方法,检索数组里面是否存在该元素,如果不存在就push进另外一个数组里面。
    一种是利用对象的key值不会重复的特性。

    ES6提供了一种新的数据结构Set,类似于数组,但是成员的值都是唯一的,没有重复的值。

    Set本身是一个构造函数,用来生成Set数据结构。

    const s = new Set();

    然后也可以接受一个数组来作为参数,用来初始化。

    const set = new Set([1,2,3,3,4,5]);

    [...set]   //[1,2,3,4,5]

    所以数组去重的另外一种方法:

    [...new Set(array)] 

    或者用另外一种方式转化为数组,Array.from()的方法,将一个set对象转化为Array对象。

    Array.from方法从一个类数组对象或者可迭代对象中创建一个新的数组实例。可迭代的对象是指那些具有Symbol.iterator属性的对象。可以使用for...of进行遍历。比如:Array,Map,Set,String,arguments,NodeList等对象。

    Array.from(new Set(a));

     下节着重讲下:ES6中的Set结构

  • 相关阅读:
    Oracle SQL语句大全(一)
    数据查询(3)-复杂查询(芮)
    数据查询(2)-高级查询(芮)
    数据查询(1)-简单查询(芮)
    T-SQL(5)-操作数据行(芮)
    T-SQL(4)-功能函数(芮)
    T-SQL(3)-批处理(芮)
    T-SQL(2)-逻辑控制(芮)
    T-SQL(1)-变量(芮)
    如何设计数据库(2)?(芮)
  • 原文地址:https://www.cnblogs.com/tangjiao/p/9041100.html
Copyright © 2020-2023  润新知