当前位置:网站首页>Map跟object 的区别

Map跟object 的区别

2022-06-24 19:02:00 清风徐来-小草

Map跟object 的区别

MapObject
意外的键值Map默认情况不包含任何键Object有一个原型,原型链上的键名有可能和自己对象的设置键名冲突
键的类型Map 的键可以是任意值,包含函数,对象或任意基本类型Object必须是String或者Symbol
键的顺序Map的Key是有序的。因此在迭代的时候Map对象以插入的顺序返回键值Object 是无序的
SizeMap的键值对数可以轻易通过Size属性获取Object的键值对个数只能通过手动计算
迭代Map是 iterable 的,所以可以直接被迭代迭代Object需要以某种方式获取它的键然后才能迭代
性能在频繁的增删键值对的场景下表现更好在频繁添加和删除键值对的场景下未作出优化

在这里插入图片描述

Map数据结构有以下操作方法:

  • size: map.size 返回Map结构的成员总数。
  • set(key,value):设置键名key对应的键值value,然后返回整个Map结构,如果key已经有值,则键值会被更新,否则就新生成该键。(因为返回的是当前Map对象,所以可以链式调用)
  • get(key):该方法读取key对应的键值,如果找不到key,返回undefined。
  • has(key):该方法返回一个布尔值,表示某个键是否在当前Map对象中。
  • delete(key):该方法删除某个键,返回true,如果删除失败,返回false。
  • clear():map.clear()清除所有成员,没有返回值。

Map结构原生提供是三个遍历器生成函数和一个遍历方法

  • keys():返回键名的遍历器。
  • values():返回键值的遍历器。
  • entries():返回所有成员的遍历器。
  • forEach():遍历Map的所有成员。
原网站

版权声明
本文为[清风徐来-小草]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_45723621/article/details/125331847