zoukankan      html  css  js  c++  java
  • es6 set简析

    1数据结构Set类似于数组,但是成员的值都是唯一的,没有重复的值

    var s = new Set(); 
    
    [2,3,5,4,5,2,2].map(x => s.add(x)) 
    
    for (i of s) {document.write(i)}
    
    // 2 3 5 4

    Set函数可以接受一个数组作为参数,用来初始化

    var items = new Set([1,2,3,4,5,5,5,5]);
    
    document.write(items.size); // 5

    Set加入值的时候,不会发生类型转换,所以5“5”是两个不同的值。

    let set = new Set();
    
    set.add({})
    
    set.size // 1
    
    set.add({})
    
    set.size // 2

    上面代码表示,由于两个空对象不是精确相等,所以它们被视为两个值。

    2Set结构的实例有以下属性。

    • Set.prototype.constructor:构造函数,默认就是Set函数。
    • Set.prototype.size:返回Set实例的成员总数。
    let s = new Set();
    
    s.add(1).add(2).add(2);
    
    // 注意2被加入了两次 
    
    s.size // 2

    3Set实例的方法分为两大类:操作方法(用于操作数据)和遍历方法(用于遍历成员)。下面先介绍四个操作方法。

    • add(value):添加某个值,返回Set结构本身。
    • delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
    • has(value):返回一个布尔值,表示该值是否为Set的成员。
    • clear():清除所有成员,没有返回值。

    上面这些属性和方法的实例如下:

    let s = new Set();
    
    s.add(1).add(2).add(2); 
    
    s.has(1) // true
    
    s.has(2) // true
    
    s.has(3) // false
    
    s.delete(2);
    
    s.has(2) // false
    
    Array.from方法可以将Set结构转为数组:
    
    var items = new Set([1, 2, 3, 4, 5]);
    
    var array = Array.from(items);
  • 相关阅读:
    How to print GETDATE() in SQL Server with milliseconds in time?
    StarLink卫星网络如何工作
    Chinasat16
    天线增益计算
    Schemachine
    源代码之整洁代码
    关于进程内缓存与分布式缓存
    IOT物联网时代测试演化
    互联网大促运维实践案例
    Kubernetes应用场景
  • 原文地址:https://www.cnblogs.com/wangdan0915/p/7813429.html
Copyright © 2011-2022 走看看