Open OPY-bbt opened 5 years ago
它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
构造函数接受数组作为参数
const map = new Map([
['name', 'zy'],
['age', '18'],
]);
map.get('name') // "zy"
size
set(k, v)
get(k)
has(k)
delete(k)
clear()
keys()
values()
entries()
forEach()
Map.prototype[Symbol.iterator] === Map.prototype.entries 所以可以直接遍历
Set
类似数组,但是元素不能重复,内部使用 Same-value-zero equality 算法判断元素是否相同,与精确相等运算符(===)的区别就是NaN等于自身
属性和方法
size
add()
delete()
has()
clear()
keys() 由于 Set 结构没有键名,只有键值, 所以keys方法和values方法的行为完全一致。
values()
entries()
forEach()
由于 Set.prototype[Symbol.iterator] === Set.prototype.values,所以 Set实例是直接可以遍历的
与数组的相互转换
const set = new Set(array); const array = Array.from(set); const array = [...set];