当前位置: 首页 > 知识库问答 >
问题:

Javascript 6中的字典和映射有什么区别?[副本]

宗政德宇
2023-03-14

地图与字典/对象有何不同?

换句话说,let x={}let x=newmap()之间有什么区别?


共有1个答案

麹培
2023-03-14

比较的对象和贴图(来自MDN):

对象与Maps相似,都允许您将键设置为值,检索这些值,删除键,并检测某个键是否存储了某些内容。正因为如此(也因为没有内置的替代品),对象在历史上一直被用作地图;然而,对象和地图之间有重要的区别,使得使用地图更好:

  • 对象有一个原型,因此地图中有默认关键点。这可以通过使用map=Object绕过。从ES5开始创建(null),但很少完成

这并不意味着你应该在任何地方使用地图,在大多数情况下仍然使用对象。映射实例仅对集合有用,您应该考虑在以前为此使用对象的地方调整代码。对象应作为记录,有字段和方法。如果你仍然不确定使用哪一个,问自己以下问题:

  • 密钥在运行时之前通常是未知的,您需要动态地查找它们吗

这些都是你想要收藏地图的标志。相反,如果您有固定数量的键,单独操作它们,并区分它们的用法,那么您需要一个对象。

 类似资料:
  • 问题内容: 我知道映射是将键映射到值的数据结构。字典不一样吗?地图和字典1有什么区别? 1.我不是要问用X或Y语言定义它们(这似乎是人们通常在SO上要求的语言),我想知道它们在理论上有何不同。 问题答案: 同一件事的两个术语: Java,C ++使用“地图” .Net,Python使用“字典” PHP使用“关联数组” “映射”是正确的数学术语,但是避免使用它,因为它在函数式编程中具有单独的含义。

  • Docker和虚拟机的映像有什么区别吗?除了图像格式,我在任何地方都找不到任何信息。请评论像图像大小,实例创建时间,捕获时间等。谢谢!

  • 那么地图和物体有什么区别呢?map还将键类型转换为字符串。

  • Java的和有什么区别?

  • 返回此枚举常量的名称,与在其枚举声明中声明的名称完全相同。大多数程序员应该使用toString方法而不是这个方法,因为toString方法可能返回一个用户更友好的名称。此方法主要是为在特定情况下使用而设计的,在特定情况下,正确与否取决于获得准确的名称,而准确的名称不会因发布而异。 特别是,即使文档中说更喜欢,Java自己的StandardLocation枚举使用了而我认为文档中的建议是相反的。 此