今天的码农女孩做了关于Map对象和WeakMap的笔记

9 篇文章 0 订阅

Map对象:

        操作Map:

        1.创建:new Map()

        2.设置:map.set(k,v)

        3.获取map.get(k)

        4.查找键是否存在:map.has(k)

        5.删除键:map.delete(k)

        6.清空:clear()

        6.大小:size属性

         var f=function(){};
         //1.创建
         var map=new Map();
         //2.添加
         map.set(f,'hello');
         //3.获取
         console.log(map.get(f));
         //4.判断
         console.log(map.has(f));//true
         //5.删除
         map.delete(f);
         //6.size
         console.log(map.size);//0
         //7.clear
         map.clear();//清空

         var arr=[1,2,3];
         var map2=new Map();
         map2.set(arr,'数组作为key');
         console.log(map2.get(arr));//数组作为key

         //遍历
         //1.for...of
         var map3=new Map();
         map3.set('1','li-1');
         map3.set('2','li-2');
         map3.set('3','li-3');
         for(var [key,value] of map3){
             console.log(key,value)
         }
         //2.forEach()
         map3.forEach(function(value,index,map){
            console.log(value,index);
         })
         //3.entries() keys()
         for(let key of map3.keys()){
             console.log(key);//1 2 3
         }
         for(let obj of map3.entries()){
             console.log(obj);
         }

WeakMap:专用场合是它的键所对应的对象,可能会在将来消失。WeakMap结构有助于防止内存泄漏

         WeakMap结构与Map结构基本类似,区别是:

         1.只接受对象作为键名(null除外),不接受其他类型的值作为键名,而且键名所指向的对象,不计垃圾回收机制。

         2.键名是对象的弱引用,所有其所对应的对象可能会被自动回收,当对象回收后,WeakMap自动移除对应的键值对

         //WeakMap
         var map4=new WeakMap();
         map4.set(1,2);//Invalid value used as weak map key
         map4.set({},2);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值