• 利用set实现去重


    最近读了一些有关于ES6的文章,觉得真是一个超级大的进步,就是不知道兼容性怎么样,鉴于我还在初学,先写个小例子练手,顺便时刻提醒自己要坚持学下去。未来的趋势肯定是替代es5没跑了。

        var arr=[1,2,1,3,2,4,5,1,3];
        var setArr=new Set(arr);
        var newArr=[];
        setArr.forEach(function(e){
            newArr.push(e);
        });
        console.log(newArr);
    

     set是es6里新提出的一个集合的概念,类似于数组arr,同样不只是数字类型,其他类型的数据如字符串等也是支持的,set有个和数组不同的特性就是重复的元素加入集合中是无效的,因此一个数组,利用set.add来加入到这个集合中来就自动实现了去重的步骤。

    以下是Set支持的所有操作:

    • new Set:创建一个新的、空的Set
    • new Set(iterable):从任何可遍历数据中提取元素,构造出一个新的集合。
    • set.size:获取集合的大小,即其中元素的个数。
    • set.has(value):判定集合中是否含有指定元素,返回一个布尔值。
    • set.add(value):添加元素。如果与已有重复,则不产生效果。
    • set.delete(value):删除元素。如果并不存在,则不产生效果。.add().delete()都会返回集合自身,所以我们可以用链式语法。
    • set[Symbol.iterator]():返回一个新的遍历整个集合的迭代器。一般这个方法不会被直接调用,因为实际上就是它使集合能够被遍历,也就是说,我们可以直接写for (v of set) {...}等等。
    • set.forEach(f):直接用代码来解释好了,它就像是for (let value of set) { f(value, value, set); }的简写,类似于数组的.forEach()方法。
    • set.clear():清空集合。
    • set.keys()set.values()set.entries()返回各种迭代器,它们是为了兼容Map而提供的
  • 相关阅读:
    linux —— 学习笔记(汇总)
    linux —— ubuntu 初次安装问题
    更改CMD默认的初始路径
    深入浅出理解linux inode结构
    重拾简单的linux指令之info 【转】
    Python 中数据的序列化和反序列化(json处理)
    day07
    Python 的反射机制
    Python 的 __new__()方法与实例化
    Classes as objects
  • 原文地址:https://www.cnblogs.com/weblv/p/5192178.html
Copyright © 2020-2023  润新知