zoukankan      html  css  js  c++  java
  • ECMAScript6——Set数据结构

    /**
     * 数据结构 Set
     */
    
    // -----------------------------------------------------
    /**
     * 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中。
     * 特点:key 和 value 相同,没有重复的 value。
     *
     * ES6 提供了数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
     */
    // -----------------------------------------------------
    // 1 如何创建一个 Set
    
    const s = new Set([1, 2, 3]);
    
    console.log(s); // Set {1, 2, 3}
    
    
    // -----------------------------------------------------
    // 2 Set 类的属性 
    
    console.log(s.size); // 3
    
    
    // -----------------------------------------------------
    // 3 Set 类的方法
    
    // 1 set.add(value) 添加一个数据,返回Set结构本身。
    
    s.add('a').add('b').add('c');
    
    console.log(s); // Set {1, 2, 3, "a", "b", "c"}
    
    
    // 2 set.delete(value) 删除指定数据,返回一个布尔值,表示删除是否成功。
    
    console.log(s.delete('a')); // true
    console.log(s); // Set {1, 2, 3, "b", "c"}
    
    console.log(s.delete('a')); // false
    
    // 3 set.has(value) 判断该值是否为Set的成员,反回一个布尔值。
    
    console.log(s.has('a')); // false
    console.log(s.has(1)); // true
    
    // 4 set.clear() 清除所有数据,没有返回值。
    
    s.clear();
    
    console.log(s); // Set {}
    
    // 5 keys() 返回键名的遍历器
    
    const s = new Set(["a", "b", "c"]);
    console.log(s.keys()); // SetIterator {"a", "b", "c"}
    
    // 6 values() 返回键值的遍历器
    
    console.log(s.values()); // SetIterator {"a", "b", "c"}
    
    // 7 entries() 返回键值对的遍历器
    
    console.log(s.entries()); // SetIterator {["a", "a"], ["b", "b"], ["c", "c"]}
    
    // 8 forEach() 使用回调函数遍历每个成员
    
    s.forEach(function (value, key, set){
      console.log(value + ' miaov');
    });
    
    console.log(s);
    
    // -----------------------------------------------------
    
    // set集合中不能有重复数据,向上面set中再加个“a”,仍不变
    s.add("a");
    
    console.log(s); // Set {"a", "b", "c"}
    
  • 相关阅读:
    arcgis server 9.2代码阅读笔记一:在图层中增加一个点
    mapx+vb实战摘要
    F# 程式設計入門 (1)
    arcgis server 9.2代码阅读笔记二:在页面上动态加载图层
    F#维基百科,自由的百科全书(重定向自F#)
    用VC++进行MapX二次开发
    sdsalea process in sd
    abap关于sap地址,传真,邮箱的地址读取
    SDEnterprise Structure Configuration
    ABAP通过LDB_PROCESS函数使用逻辑数据库
  • 原文地址:https://www.cnblogs.com/cckui/p/7711477.html
Copyright © 2011-2022 走看看