JavaScript中的Hashtable与对象相比有何区别?

4

我刚接触数据结构,正在学习JavaScript。

我的问题是: 既然我们已经有了JavaScript中的对象,为什么还需要哈希表? 有没有人能给我一个哈希表比对象更有用的情况?


https://dev59.com/tnM_5IYBdhLWcg3w-4dg#1143522 - shrys
3个回答

12

在不同的编程语言中,“Hashtable”的称呼是不同的。Java 有 HashtableHashMap,Ruby 有 Hash,Python 有 dict......而在 JavaScript 中,则称之为 Map

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

对象支持继承;而 Map 只包含明确放入其中的内容。


4

我想你的意思是使用 Map 而不是 HashTable。在我看来,如果需要以下功能之一,Map 可能更有用且性能更好:

  • 保持键/值对插入顺序;
  • 频繁添加和删除;
  • 非字符串/符号键。

我认为您可以在MDN上获得更多信息。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接