哈希表与 javascript 中的对象

Hashtable vs objects In javascript

我是数据结构的新手,我正在 Javascript 学习它。

我的问题是: 为什么我们在 javascript 中有对象时需要哈希表? 谁能给我一个哈希表比对象更有用的情况?

"Hashtable"在不同的语言中被称为不同的东西。 Java 有 HashtableHashMap,Ruby 有 Hash,Python 有 dict... 在 Java脚本,叫做Map.

对象的键仅限于字符串; Map 键可以是任何东西。

对象支持继承; a Map 只包含具体放入其中的内容。

您认为您指的是 Map 而不是 HashTable。如果您需要其中之一,恕我直言地图可能会更有用并且性能更好:

  • 保持 key/value 对的插入顺序;
  • 频繁添加和删除;
  • 不是 String/Symbol 的键。

我想你可以在 MDN

获得更多信息

这方面的 MDN 文档很有帮助:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map#Objects_and_maps_compared

最值得注意的是,使用地图可以让您使用任何东西作为键,地图保持顺序,并且在不断添加和删除值时可能表现更好。