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

何时在对象上使用ES6贴图?[副本]

侯焱
2023-03-14

我一直在看MDN上的新ES6文档,我找不到地图对象的实际用途,因为普通对象无法工作。有没有人有地图的使用案例,并解释为什么一个对象在这种情况下不能工作?

共有1个答案

车嘉实
2023-03-14

MDN列出了一些重要的区别:

  • 一个Object有一个原型,所以在map中有默认的键。
  • 一个Object的键是Strings,它们可以是Map的任意值。
  • 您可以很容易地获得Map的大小,而您必须手动跟踪Object的大小。
  • 一个Map按照插入顺序迭代其元素,而迭代顺序没有为Object指定。

因此,Map最终是Javascript的插入顺序键值存储,它还允许将任何值映射到任何值,而不是将键限制为字符串。如果排序很重要,或者对象或其他复杂数据类型需要与其他数据关联,这可以大大简化某些代码。

 类似资料:
  • 假设我想创建一个字典,例如,一个或多个车型的汽车品牌。 在ES6中,我似乎可以用两种不同的方式做到这一点。 1.创建对象映射: 代码: 2.创建ES6 Map实例: 代码: 以上两种方法的主要区别和优缺点是什么?

  • 主要内容:1.ES6对象文字语法扩展,2.合并ES6中的对象,3.对象解构对象是键/值对的集合,可以像哈希或字典一样在对象的整个生命周期中对其进行修改。在JavaScript中使用对象可以定义自定义数据类型。 与原始数据类型不同,使用对象表示复杂或多个值。 这些值可以是对象数组或标量值,也可以是函数。对象内部的数据是无序的,值可以是任何类型。 可以使用大括号以及可选的属性列表来创建对象。 该属性是“键:值”对,其中键是字符串或属性名称,值可以是任何值。 语法 创建空对象

  • 问题内容: 我是一个狂热的程序员,但是今天是我的第一堂Java课。 使用上面的代码,我想在窗口上写一个句子,但是它永远不会写。我究竟做错了什么? 编辑:没关系-油漆一定是油漆。我深表歉意。 问题答案: 在给定的代码中,您想要的是 一个工作示例供您参考:

  • 参考[Stackoverflow]Scala:将map转换为case类我尝试复制其中一个响应,我看到以下错误: <代码>无法构造com的实例。实践斯卡拉。Test“(不存在任何创建者,如默认构造):无法从[源:未知;行:-1,列:-1]处的对象值(无委托或基于属性的创建者)反序列化 代码: 这个错误说明了什么?我错过了什么吗?

  • 我有一个4个工人的分布式系统,每个工人发送1张地图 我尝试的方法是将workers中的所有映射项收集到ArrayList中,然后使用并行流,我想使用reduce方法将它们减少到一个列表中,并将其初始化到reducer中。这是我的代码: 我在reduce方法上得到以下编译错误: 方法reduce(Map

  • 用例很简单:我只想导出一个名称与导入时相同的对象。 例如: 但这并不起作用。我必须写: 但这很奇怪。正确的方法是什么? 更新: 感谢帮助和参考。我用许多线索解决了我的问题。下面给大家分享一些我常见的案例和解决方法。