![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=1738847028-E8r0VLrvhvxXKeVnX6RiwdODyCawvqzR-0-c9201c037701e265254e99bb5059f227)
同样可以通过delete()方法删除Set集合中的某一个元素,调用clear()方法移除集合中的所有元素,has方法判断是否有某个元素。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/43_04.jpg?sign=1738847028-Cb3Y33EMqaM7S4uRtn6YSXt9weoT6ivb-0-f9cda3bacd11a864b7cc708d6710dae4)
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_01.jpg?sign=1738847028-4WJWP0PtRmwd6rEEHxX2trIq2jt9kk6b-0-80eaca34e426d9c1d38774fd42c13bf6)
一般可以通过set不可重复的属性来做去重的处理。例如将[1,2,3,3,4,5,2,6]数组中相同的元素去重,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_02.jpg?sign=1738847028-UdyDUTn74ltlYqIbqNvapf5FOnl2friA-0-a64660d0d37c18191a18caa255507a1b)
1.9.2 Map集合
Map类型是有键值对的集合,可以通过Map构造函数来创建。通过set()函数来添加键名和键值。如果想获取某个属性名可以通过get()方法,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_03.jpg?sign=1738847028-Z1GR0PELR2RtezvxF7SEQ259z54mEB9c-0-13f9aa4251c64a19775c6286c81bcb3e)
同样Map集合也支持has()、delete()、clear()方法。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_04.jpg?sign=1738847028-YBI706eEWgrK2GbuN7pTTNHsyCIYfmOV-0-22ec5978f48abbeaff8331f5b1eb4865)