0
在JavaScript中有一個像{}這樣的對象,您可以在其中擁有隻有1個值的鍵。但一般情況下,如果我想要一個hashmap,其中的鍵值是多值的,就像它可以是3或6或7個整數映射到一個值,等等......如果有一個最好的方法來處理它本身,或者有一個庫?是否有一個JavaScript庫或本地方式來處理與多鑰匙hashmaps?
謝謝
在JavaScript中有一個像{}這樣的對象,您可以在其中擁有隻有1個值的鍵。但一般情況下,如果我想要一個hashmap,其中的鍵值是多值的,就像它可以是3或6或7個整數映射到一個值,等等......如果有一個最好的方法來處理它本身,或者有一個庫?是否有一個JavaScript庫或本地方式來處理與多鑰匙hashmaps?
謝謝
您可以使用數字的數組,默認情況下使用逗號加入它。然後將該字符串作爲對象的鍵。
var hash = Object.create(null);
hash[[1, 2, 4, 5].join()] = 'foo';
console.log(hash[[1, 2, 4, 5].join()]);
hash[[1, 2, 4, 5].join()] = 'baz';
console.log(hash[[1, 2, 4, 5].join()]);
hash[[1, 2, 4, 5, 7].join()] = 'bar';
console.log(hash);
.as-console-wrapper { max-height: 100% !important; top: 0; }
嘛,有個新望地圖類,但您的應用程序的基本問題是,有沒有在JavaScript中類似'.hashValue()'和'.equals()'約定Java(例如)。因此,您需要處理的只是確定關鍵相等性的本地平等比較。 – Pointy
這很好,因爲鍵無論如何都是整數,所以本地平等對比較鍵是很好的。 – omega
這是一個經典的[XY問題](http://meta.stackexchange.com/q/66377/289905)。你真的想做什麼?你爲什麼需要這樣的哈希映射? – Xufox