![React工程师修炼指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/475/37323475/b_37323475.jpg)
上QQ阅读APP看书,第一时间看更新
1.9 Set和Map集合
在ES5标准中通过对象及数组来表示数据。ES6标准中提供新的数据结构来表示数据,那就是Set和Map。Set集合,是一种无重复元素的列表,而Map集合是键值对的集合。
1.9.1 Set集合
ES6标准中提供Set构造函数来创建集合。通过add()方法向集合中添加元素,访问集合的size属性可以获取集合中目前的元素数量。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/43_03.jpg?sign=1738896433-Gsl9pjntaQHw1y8MNq9qAz3mSawwXLPb-0-bcc7af795fa58743beec8d2bace58caf)
同样可以通过delete()方法删除Set集合中的某一个元素,调用clear()方法移除集合中的所有元素,has方法判断是否有某个元素。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/43_04.jpg?sign=1738896433-X3DmvCyL7RB4yh1CRHQGIwsr6Dz7xlLs-0-10c1a5f1b2c1acc9048bcad92b485c9a)
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_01.jpg?sign=1738896433-oVERX4b9nK0FZaH93CfnlWIEpOvNIkUJ-0-8e98de6e00e2aa17491b04c074e40363)
一般可以通过set不可重复的属性来做去重的处理。例如将[1,2,3,3,4,5,2,6]数组中相同的元素去重,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_02.jpg?sign=1738896433-t1P6a0fyfFTXPf00zuinryZCSuCLWRyB-0-5ae84fef24ea39c958c37ebdffc6178b)
1.9.2 Map集合
Map类型是有键值对的集合,可以通过Map构造函数来创建。通过set()函数来添加键名和键值。如果想获取某个属性名可以通过get()方法,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_03.jpg?sign=1738896433-aOezS5C8eUSnIT100QmtDB157u8czuJI-0-7ae806f572bb6a433cb1fa59cd40273c)
同样Map集合也支持has()、delete()、clear()方法。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_04.jpg?sign=1738896433-JUYHLHMFHlCrrR9BqO046KHOSrOK8Nzf-0-d2d2bfba9273ab861a7094a6152fa90f)