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
     
     
  • 相关阅读:
    IE8及其以下浏览器边框圆角兼容问题
    关于git的一些指令及遇到的问题和解决方法
    vue项目环境搭建及运行
    webpack中的重要功能
    webpack 的重要功能
    c++ stl sort 自定义排序函数cmp要遵循 strict weak ordering
    spring boot 包jar运行
    windows上传文件到linux云服务器上
    最少硬币数目的问题
    leetcode 415 两个字符串相加
  • 原文地址:https://www.cnblogs.com/hjcby/p/13613066.html
Copyright © 2011-2022 走看看