zoukankan      html  css  js  c++  java
  • ES6 Map 和 WeakMap

    Map存储是以键值对的形式存在
    • let map = new Map([[key,value],[key2,value2]])
    • map.set(key,value)
    • map.get(key)
    • map.delete(key)
    • map.has(key)
    • map.clear()
    • // map中key可以是任意的属性,比如数字、字符串、对象、bool...
     
    // Map 它的key键名的类型不再局限于字符串类型了,它可以是各种类型的值
        let m = new Map([
            ['name', 'wangeu'],
            [12, 15],
            [null, 6],
            [{name: 'zhaosi'}, 7]
        ])
        console.log(m);
     
        // size属性  获取实例的成员数。
        console.log(m.size); //4
     
        ///set()  给实例设置一对键值对,返回map实例。
        m.set('hobby', 'sing');
        console.log(m);
        m.set(undefined, 8);
        console.log(m);
        // m.set(Symbol('name'), 9);
        console.log(m);
     
        //get方法  获取指定键名的键值,返回键值。
        console.log(m.get('name')); //wangeu
     
        //delete方法删除指定的键值对,删除成功返回:true,否则返回:false。
        console.log(m.delete('name')); //true
        console.log(m.get('name')); //undefined
     
        //has方法   判断Map实例内是否含有指定的键值对,有就返回:true,否则返回:false。
        console.log(m.has(null)); //true
     
        // entries( )方法作用:返回实例的键值对遍历器。
        console.log(m.entries());
        console.log(m.entries().next());
     
        // keys( )方法:返回实例所有键名的遍历器。
        // values( ) 方法:返回实例所有键值的遍历器。
        console.log(m.keys());
        console.log(m.keys().next());
        console.log(m.values());
        console.log(m.values().next());
     
        //forEach方法
        m.forEach(function (value, key) {
            console.log(key + ':' + value);
        });
     
        /// clear()   删除所有键值对。
        m.clear();
        console.log(m); //Map(0) {}

    遍历map

    map.forEach((value,key)=>{})
     

    WeakMap

    WeakMap的键只能是引用类型
    new WeakMap()
    • set
    • get
    • delete
    • has
    • clear
     
     
  • 相关阅读:
    把sqlserver2000的备份文件恢复到sqlserver2008中
    application、static、Session、ViewState 的区别
    命令行安装卸载服务(安装卸载.net写的服务)
    C# Windows服务自动安装与注册
    C# System.Guid.NewGuid()
    <base target="_self"/>
    C#写的windows服务,在启动时提示“服务启动后又停止了,一些服务自动停止”
    MVC中validateRequest="false"不起作用
    PL/SQL导出insert语句
    MO和MT
  • 原文地址:https://www.cnblogs.com/hjcby/p/13613066.html
Copyright © 2011-2022 走看看