ES6:Set和Map

本文介绍了JavaScript中的Set和Map数据结构,详细解释了它们的特点、使用方法及与WeakSet、WeakMap的区别。通过阅读本文,读者可以了解到如何利用这些数据结构进行高效的数据管理和操作。
摘要由CSDN通过智能技术生成

Set

Set:类似数组,但是成员的值都是唯一的,没有重复。
Set本身是一个构造函数,用来生成Set数据结构。
他包含的方法:
add: 添加某个值,返回Set结构本身。
delete: 删除某个值,返回一个布尔值,表示是否成功;
has(value): 返回布尔值,表示该值是否为Set的成员;
clear():清除所有成员,没有返回值
遍历操作
keys():返回键名的遍历器
values(): 返回健值对的遍历器
entries():返回键值对的遍历器
forEach(): 每个成员

WeakSet

他与Set类似,但是也有区别
1.weakSet的成员只能是对象,不能是其他类型的值
2.weakSet对象都是弱引用。如果其他对象不再引用该对象,那么垃圾回收机制会自动回收该对象所占的内存,所以WeakSet是不可遍历的。

WeakSet结构的三个方法
add
delete
has
WeakSet的一个用处是储存DOM节点,而不用担心这些节点会从文档中移除时,会引发内存泄露。

Map

他是键值对的集合(Hash结构)。他与Object结构的区别是:Object是一种“字符串-值”的对应,Map是“值-值”的对应。所以当需要“键值对”这样的数据结构时,Map比Object更合适。
他的方法:
set(key, value)
get(key)
has(key)
delete(key)
clear()
遍历方法
keys()
values()
entries()
forEach()

WeakMap

WeakMap跟Map结构基本类似,区别是只接受对象(null除外)作为键名,不接受其他类型的值作为键名,而且键名所指向的对象,不计入垃圾回收机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值