Map、Set是ES6新增的数据类型,这两者都类似于对象。
Map:
在对象中其键只能是字符串和数字。但Map的健可以是任意值,但需要注意的是当引用数据作为Map的key时,取值的时候也必须时同一个引用才能取值。
Map构造函数的参数必须是一个双元素的数组的数据结构,但元素类型可以是多样的。
参数里面的键值是任意,只需要满足是一个双元素的数组即可。
在Map中可以通过set(key,value)方法来往Map里面添加成员的。对同一个键多次赋值,后面的值将会覆盖前面的值。
通过get(key)取值
通过clear()来清除Map数据中的所有数据。
通过delete(key)删除某一key数据。
通过has(key)判断Map中是否含有key键值对,返回值是布尔值。
Map函数通过forEach()遍历,也可以通过keys()返回键名的遍历,values()返回键值的遍历,entries()返回所有成员的遍历
Size属性返回的是Map结构成员的总数。
Set:
set类似于数组,允许存储任何类型的唯一值。成员的值都是唯一的,没有重复的值。可以用来对数组,字符串去重处理。
通过add(value)依次向Set里面添加成员。
Set同样有delete(value)、has(value)、clear()方法与Map用法是一样的。
Set的遍历与Map一样都可以用forEach、keys、values、entries遍历。
Array.from()可以将Set转为数组。