es6内的Map用法复习
2020-04-05 本文已影响0人
砂壶
-
Map和Object有什么相同与不同
相同:两者都是键值对的集合(Hash 结构) 。
不同:Object 只能用字符串(或者Symbols
)当作键,如果使用了其它属性,会自动转成字符串。Map“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
Map 在涉及频繁增删键值对的场景下会有些性能优势。 -
Map常用方法
Map.prototype.has(key)
返回一个布尔值,表示Map实例是否包含键对应的值。
Map.prototype.get(key)
返回键对应的值,如果不存在,则返回undefined。
Map.prototype.set(key, value)
设置Map对象中键的值。返回该Map对象。
Map.prototype.delete(key)
如果 Map 对象中存在该元素,则移除它并返回 true;否则如果该元素不存在则返回 false
Map.prototype.entries()
返回一个新的 Iterator 对象,它按插入顺序包含了Map对象中每个元素的 [key, value] 数组。
Map.prototype.clear()
会移除Map对象中的所有元素。
另外还有:
Map.prototype.keys()
Map.prototype.values()
Map.prototype.forEach(callbackFn[, thisArg])
等等。
属性有
Map.prototype.size
返回Map对象的键/值对的数量
参考资料: