Map对象

定义:Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。
Map中的key取值范围:字符串、对象、函数、NaN。

Map的循环遍历的方式

  • 使用for…of循环遍历Map的Key值,如下图
    ES6 Map 与 Set
  • 使用for…of循环遍历Map的Value值,如下图
    ES6 Map 与 Set
  • 使用for…of循环遍历Map键值对,如下图
    ES6 Map 与 Set
  • 使用forEach遍历Map对象,如下图
    ES6 Map 与 Set

Map对象的操作

  • 创建Map可以在构造函数中放入一个二维数组实现Map的创建,如下图
    ES6 Map 与 Set

  • Map转换Array
    使用Array.from()转换为一个二维数组,如下图
    ES6 Map 与 Set
    ps:在参数中可以使用...(例如function(...Map对象){})将Map对象转换成Array

  • Map的合并
    合并两个 Map 对象时,如果有重复的键值,则后面的会覆盖前面的,如下图
    ES6 Map 与 Set

Set对象

定义:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
ES6 Map 与 Set

  • 以上第二第三行代码添加了两个相同的普通类型的值,最终后者覆盖了前者,这体现了Set中的唯一性。
  • 在第四行代码中可以看出Set既能添加数值类型也能添加字符串类型,这体现了Set中的多样性。
  • 在第七第八行中可以看到添加了两个相同值的对象,这说明了在Set中引用地址不同,值相同Set可以存储。

类型之间的转换

  • Array转换为Set,如下图
    ES6 Map 与 Set
  • Set转换为Array,如下图
    ES6 Map 与 Set
  • String转换为Set,如下图
    ES6 Map 与 Set

相关文章: