zoukankan      html  css  js  c++  java
  • ES6之Set、Map

    1、Set

      一个新的数据结构,类似于数组
      跟数组的区别:Set里面的值不会重复
    

    用法

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

    API

      1、增加 add()
      set.add(80);
    
      2、删除 delete()
      set.delete(32);
      
      3、判断是否存在 has()
      console.log(set.has(23));
      
      4、清空 clean
      set.clean();
      console.log(set);  
      5、size属性
      6、entries()、keys()、values()遍历的方法
    

    2、WeakSet

      特点: 只能是引用类型
    

    用法

      let weakset = new WeakSet([{'name':'名字'}]);
    

    注意

    1、  提供了add()、delete()、has()方法  作用和用法跟set一样。
    2、  WeakSet 结构不可以遍历,因为成员都是对象的弱引用,随时会被回收机制回收,成员消失,所以没有entries()、key()、values()、forEach()等
      方法和size属性。
    

    *******************************************************************
    1、Map

      Map的key键非常之灵活-可以是各种数据类型
    

    用法

      let map = new Map();
    
      初始化:
      let m = new Map([['name','前端程序员'],['gender',1]]);
    

    API

      1、set()
      m.set('age',28);
    
      2、get()
      m.get('name');
      m.get('age');
    
      3、delete()
      m.delete('name');      
    
      4、clear()
      m.clear()
    
      5、has()方法
      m.has('name');
      
      6、entries()
      for(let [key,value] of m.entries()){
            console.log(key+'  '+value);
      }
        
       keys() 、values()、forEach()
    

    WeakMap

      特点: 1、键是引用类型!
             2、不支持clear、不支持遍历、没有 keys、values、entries、forEach和size属性
  • 相关阅读:
    tp.c
    trace
    一致性哈希算法
    update_dctcp_alpha
    dctcp-ns2-patch
    C++ inheritance: public, private. protected ZZ
    C++ virtual inheritance ZZ
    C++ 类对象的初始化顺序 ZZ
    C++ inheritance examples
    classifier.cc-recv() [ns2.35]
  • 原文地址:https://www.cnblogs.com/qianqiang0703/p/13610988.html
Copyright © 2011-2022 走看看