我刚刚发现了chromestatus.com,在我失去了几个小时之后,发现了这个功能条目:
地图:地图对象是简单的键/值映射.
那让我困惑.常规的JavaScript对象是字典,所以Map与字典有什么不同?从概念上讲,它们是相同的(根据 地图和字典之间的区别是什么?)
文档chromestatus引用也没有帮助:
映射对象是键/值对的集合,其中键和值都可以是任意ECMAScript语言值.不同的键值只能出现在Map集合中的一个键/值对中.使用在创建Map时选择的比较算法区分不同的键值.
Map对象可以按插入顺序迭代其元素.必须使用散列表或其他机制来实现Map对象,这些机制平均提供对集合中元素数量的次线性访问时间.此Map对象规范中使用的数据结构仅用于描述Map对象所需的可观察语义.它不是一个可行的实施模型.
...对我来说仍然听起来像是一个对象,显然我错过了一些东西.
为什么JavaScript获得(受到良好支持的)Map对象?它有什么作用?
我在WordPress中做了很多工作,我注意到有更多的函数返回对象而不是数组.除非您特别要求数组,否则数据库结果将作为对象返回.错误作为对象返回.在WordPress之外,大多数API都会为您提供一个对象而不是一个数组.
我的问题是,为什么他们使用对象而不是数组?在大多数情况下,它并不重要,但在某些情况下,我发现物体不仅难以加工而且能够缠绕我的头部.是否有使用对象的性能原因?
我是一名自学成才的PHP程序员.我有文科学位.如果我错过了计算机科学的一个基本方面,请原谅我.;)