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中文網其他相關文章!