Map对象
定义:Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Map中的key取值范围:字符串、对象、函数、NaN。
Map的循环遍历的方式
- 使用for…of循环遍历Map的Key值,如下图
- 使用for…of循环遍历Map的Value值,如下图
- 使用for…of循环遍历Map键值对,如下图
- 使用forEach遍历Map对象,如下图
Map对象的操作
-
创建Map可以在构造函数中放入一个二维数组实现Map的创建,如下图
-
Map转换Array
使用Array.from()
转换为一个二维数组,如下图
ps:在参数中可以使用...
(例如function(...Map对象){}
)将Map对象转换成Array -
Map的合并
合并两个 Map 对象时,如果有重复的键值,则后面的会覆盖前面的,如下图
Set对象
定义:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
- 以上第二第三行代码添加了两个相同的普通类型的值,最终后者覆盖了前者,这体现了Set中的唯一性。
- 在第四行代码中可以看出Set既能添加数值类型也能添加字符串类型,这体现了Set中的多样性。
- 在第七第八行中可以看到添加了两个相同值的对象,这说明了在Set中引用地址不同,值相同Set可以存储。
类型之间的转换
- Array转换为Set,如下图
- Set转换为Array,如下图
- String转换为Set,如下图