ES6——set、map

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、付费专栏及课程。

余额充值