Map是一个键值对的集合和Object类似,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。Map做为构造函数,可以通过全局对象获取到需要通过new操作创建实例对象。
map与Object的区别:
Object(对象) | Map(映射) |
---|---|
不可直接迭代 | 可直接迭代 |
无 size 属性 | 有 size 属性 |
键必须是字符串(或符号) | 键可以是任何数据类型 |
键不排序 | 键按插入排序 |
有默认键 | 没有默认键 |
map实例的属性和方法:
方法 | 描述 |
---|---|
new Map() | 创建新的 Map 对象。 |
set() | 为 Map 中的键设置值。 |
get() | 获取 Map 对象中键的值。 |
clear() | 从 Map 中移除所有元素。 |
delete() | 删除由某个键指定的 Map 元素。 |
has() | 如果键存在于 Map 中,则返回 true。 |
forEach() | 为 Map 中的每个键/值对调用回调函数。 |
entries() | 返回迭代器对象,其中包含 Map 中的 [key, value] 键值对。 |
keys() | 返回迭代器对象,其中包含 Map 中的键。 |
values() | 返回迭代器对象,其中包含 Map 中的值。 |
属性 | 描述 |
---|---|
size | 返回 Map 元素的数量。 |
map遍历方法: