JavaScript对象很容易用作哈希图,因为它们实际上只是键/值对的集合。我关心的是内存使用情况以及存储和检索的时间成本。我想这个答案与JavaScript引擎的实现不同。 MDN Wikipedia hashmap article链接到official releases,但我不知道哈希表对于某个对象有多大。
所以我想知道的是,内存中的对象有多昂贵,存储/检索O(1)操作的频率和O(n)操作的频率是多少?
答案 0 :(得分:0)
我认为这取决于您正在使用的特定JavaScript引擎。
例如,在最简单的情况下,V8将散列映射转换为数组并将其存储为单个内存块。为什么?
由于显而易见的原因,给定偏移量而不是哈希表,访问数组元素的速度更快。
来源: http://jayconrod.com/posts/52/a-tour-of-v8-object-representation
我希望这至少可以部分回答你的问题:)