JavaScript 中的高效 hashmap 实现
虽然 JavaScript 对象可以用作字典,但它们不提供真正的哈希功能。因此,具有不同字符串表示形式但具有相同值的对象可能会相互覆盖。
使用自定义键函数
要创建高效的 hashmap,您可以手动定义一个基于您的对象的独特特征的关键功能。然后,生成的字符串可以用作常规 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的优点:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3