Set集合
无重复元素,所以可以用于数组去重
let set = new Set();
添加元素set.add()
可以是数字,数组,字符串以及对象。如果添加了两个空对象,所代表的是两个不一样的地址,所以看成两个值。
删除元素set.delete()
判断某个元素是否在集合中
set.has()返回值是布尔类型
通过扩展运算符可以将Set集合转换为数组
let set = new Set([1,2,2,3,4,5]);
let arr = [...set];
了解set中对象的引用无法被释放,WeakSet可以。
Set.prototype.constructor:构造函数,默认就是Set函数。
Set.prototype.size:返回Set实例的成员总数。
Set.prototype.add(value):添加某个值,返回 Set 结构本身。
Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
Set.prototype.has(value):返回一个布尔值,表示该值是否为Set的成员。
Set.prototype.clear():清除所有成员,没有返回值。
Map集合
表示键值对的有序列表,键和值可以是任何数据类型,无重复元素
通过map.get('属性')可以获得属性值
map.has()判断是否含有某个属性值,返回值为布尔类型
Map.prototype.constructor:构造函数,默认就是Map函数。
Map.prototype.size:返回Map实例的成员总数。
Map.prototype.set(key, value):添加某个值,返回 Map结构本身。
Map.prototype.get(key):get方法读取key对应的键值,如果找不到key,返回undefined。
Map.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
Map.prototype.has(value):返回一个布尔值,表示该值是否为Map的成员。
Map.prototype.clear():清除所有成员,没有返回值。