![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=1738885558-bDvxt1r5r0jr8TfaVh2UUqWAGnCuxHJ2-0-635330f8278c6febd4437e4d3995e9b5)
同样可以通过delete()方法删除Set集合中的某一个元素,调用clear()方法移除集合中的所有元素,has方法判断是否有某个元素。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/43_04.jpg?sign=1738885558-mAjO5Q0rVoBRNVOxErGtFMeBtHpwouLQ-0-e939d36f912fad0e11237cd1111f7a8b)
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_01.jpg?sign=1738885558-17Qzzf4CQMV2BEnPz1sSIjbfgM9wPrjX-0-b6882bce230ab3331066ad4ea00a47a1)
一般可以通过set不可重复的属性来做去重的处理。例如将[1,2,3,3,4,5,2,6]数组中相同的元素去重,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_02.jpg?sign=1738885558-nOtzbr5HDGcW4gMmQPJezc4tCjQXuxsS-0-4041adc45ceaba49fdef353e4ef42aa2)
1.9.2 Map集合
Map类型是有键值对的集合,可以通过Map构造函数来创建。通过set()函数来添加键名和键值。如果想获取某个属性名可以通过get()方法,代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_03.jpg?sign=1738885558-bbjwjF3zV6yGaHdSXcHGgIzinRyP3y73-0-12a1d38b9b665676920afe22d7f15227)
同样Map集合也支持has()、delete()、clear()方法。代码如下:
![](https://epubservercos.yuewen.com/D960D7/19773741008833706/epubprivate/OEBPS/Images/44_04.jpg?sign=1738885558-O8jdQ3x4N4NrTZx6vqMGqzTO5NkMhLem-0-0d783c9ead2922fcb3710c2112eebc6b)