在数组上构建的JavaScript对象[重复]

问题描述 投票:-1回答:1

从我的阅读中,在JavaScript中:

Objects = Hash Tables,构建于Arrays之上。但是,通常认为Arrays是JS中的对象。这两个概念如何协调?

javascript arrays hash hashtable javascript-objects
1个回答
0
投票

对象不是基于数组构建的。对象有自己的优化。

一般来说:

  • 对象用于“结构”,可预测的“形状”结构和预先知道的键(即使它们可以与动态键一起使用,你应该使用地图。见下文)。
  • 数组用于列表(以及队列和堆栈),键是数字的结构,或元素顺序重要的结构。数组是“特殊”对象,而不是相反。 (您可以将基于字符串的属性放在数组上,就像任何对象一样。但请不要这样做)。
  • Maps用于哈希表/字典,其中键是动态的并且事先不知道的结构。
© www.soinside.com 2019 - 2024. All rights reserved.