我目前使用 OpenLayers 并有大量数据要绘制到矢量图层中(超过 100000 个矢量)。
我现在正尝试将所有这些向量放入 JavaScript HashMap 中以分析性能。我想知道 JavaScript 中的 HashMap 是如何实现的,它是一个真正的哈希函数还是只是一个使用简单数据结构和搜索算法的包装函数?
最佳答案
每个javascript object是一个简单的 hashmap,它接受一个字符串或一个 Symbol。作为它的关键,所以你可以把你的代码写成:
var map = {};
// add a item
map[key1] = value1;
// or remove it
delete map[key1];
// or determine whether a key exists
key1 in map;
javascript对象在实现上是一个真正的hashmap,所以搜索的复杂度是O(1),但是javascript字符串没有专门的hashcode()
函数,它是javascript内部实现的引擎(V8、SpiderMonkey、JScript.dll 等...)
2020 年更新:
关于javascript - JavaScript HashMap 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8877666/