很多人在学哈希表的时候发现,哈希表不就是 JS 对象的一个简化版吗?

哈希的难点不在「表」这个字(key,value),它的难点在于「哈希」两个字。

什么是哈希?
看看大佬们的回答:https://www.zhihu.com/question/330112288/answer/744362539

哈希表的难点

场景

假设哈希表 hash 里有一万对 key-value,如何使得读取 hash[‘xxx’] 最快

解决方法

  1. 不作任何优化,hash[‘xxx’] 需要遍历所有 key, O (n)
  2. 对 key 排序,使用二分査找,O (log2n)
  3. 用字符串对应的 ASCI 数字做索引,O (1)
  4. 对索引做除法取余数,O (1)
  5. 冲突了怎么办,冲突了就顺延