ES6——set、map

本文介绍了JavaScript中的Set和WeakSet数据结构,以及Map和WeakMap对象。Set用于创建不可重复的数值类数组,支持add、delete、has等操作;WeakSet则只接受对象且其成员引用是弱类型。Map提供键值对存储,而WeakMap的键必须是对象且为弱引用,不影响垃圾回收。这些数据结构提供了灵活的数据管理方式,如在缓存和对象引用管理中发挥作用。
摘要由CSDN通过智能技术生成

new Set():创建数值不可重复的类数组,===比较,但NaN与NaN相等

                size、add()、delete()、clear()、has()、keys()、values()、entries()、forEach()

                Array.form(new Set()):转成真正的数组

                iterrator存在可直接遍历values: for...of 可用

new WeakSet():成员必须是对象,没有size、forEach不可遍历;成员对象的引用是弱类型,垃                             圾回收时不考虑WeakSet,随时可以被回收,适合存放一些临时对象或对象的引用                             信息

                            只有add()、delete()、has()

new Map():创建一个key值数据类型自由的对象;

                任何具有 Iterator 接口、且每个成员都是一个双元素的数组的数据结构、都可以当作 

      Map构造函数的参数;

                多次set时,key值一样会被覆盖,注意key值一样是指地址一样;

                size、get()、set()、delete()、clear()、has()、keys()、values()、entries()、forEach()

map转数组: [...new Map()]

数组转Map:new Map([])

map转对象:键值都是字符串无损;键值有其他类型时,转成字符串再转

对象转map:new Map(Object.entires(obj))

map转json:键值都为字符串=> JSON.stringify,键值有其他=> JSON.stringify([...map])

json转map:都为字符串 => JSON.parse;   数组对象 =>new Map(JSON.parse)

new WeakMap():键值只能是对象,目的是弱引用对象为键值时,不干扰垃圾回收机制

                get()、set()、has()、delete()

弱引用的好处:做缓存,原始对象存在缓存,原始对象清除自动消失

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值