set与map
set操作方法
- Set数据结构,类似数组,但成员的值都是唯一,没有重复
- Set.prototype.constructor: 构造函数Set
- Set.prototype.size
- Set.prototype.add(value)
- Set.prototype.delete(value)
- Set.prototype.has(value)
- Set.prototype.clear()
set遍历方法
- Set.prototype.keys()
- Set.prototype.values()
- Set.prototype.entries()
- Set.prototype.forEach()
- 去除数组的重复成员, [...new Set(array)]或Array.from(new Set(array))
- 去除字符串里面的重复字符, [...new Set('ababbc')].join('')
- 向 Set 加入值的时候,不会发生类型转换,所以5和"5"是两个不同的值。
- Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(===),主要的区别是向 Set 加入值时认为NaN等于自身,而精确相等运算符认为NaN不等于自身。
- 在 Set 内部,两个NaN是相等的,两个空对象不相等
map的属性和操作方法
- Map数据结构,类似对象,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键
- Map.prototype.size
- Map.prototype.set(key,value)
- Map.prototype.get(key)
- Map.prototype.has(key)
- Map.prototype.delete(key)
- Map.prototype.clear()
map的遍历方法
- Map.prototype.keys()
- Map.prototype.values()
- Map.prototype.entries()
- Map.prototype.forEach()