JavaScript 中的高效 hashmap 实现
虽然 JavaScript 对象可以用作字典,但它们不提供真正的散列功能。因此,具有不同字符串表示形式但具有相同值的对象可能会相互覆盖。
使用自定义键函数
要创建高效的哈希映射,您可以手动定义一个基于您的对象的独特特征的关键功能。然后,生成的字符串可以用作常规 JavaScript 字典中的键。
var key = function(obj){ // Some unique object-dependent key return obj.totallyUniqueEmployeeIdKey; // Just an example }; var dict = {}; dict[key(obj1)] = obj1; dict[key(obj2)] = obj2;
此方法的优点:
避免碰撞
避免按键之间的碰撞由不同对象生成,请仔细考虑对象的独特属性并在关键函数中使用它们。如有必要,请使用非拉丁 Unicode 字符或分隔符来防止与默认属性发生冲突。
ES6 映射和集
ECMAScript 6 引入了映射和集,它提供了内置的- 散列功能并支持任何值的键,包括对象。
Map 的优点:
以上是如何在 JavaScript 中实现高效的哈希图?的详细内容。更多信息请关注PHP中文网其他相关文章!