2017-02-16 2 views
0

JavaScriptには{}のような、1つの値だけのキーを持つことができるオブジェクトがあります。しかし、一般的には、キーが多値であるようなハッシュマップが必要な場合は、値にマップされる3または6または7の整数などがあります。ネイティブで扱う最良の方法があれば、 ?複数のキーでハッシュマップを処理するためのjavascriptライブラリやネイティブな方法はありますか?

おかげ

+0

まあ、やや新しいMapクラスがありますが、あなたのアプリケーションのための基本的な問題は、 '.hashValue()'と '.equals()'慣習のようにJavaScriptで何もないということですJava(例えば)。したがって、主要な平等を決定するためのネイティブの平等の比較が、あなたが作業しなければならないことです。 – Pointy

+0

これは問題ありません。キーはすべての整数なので、キーの比較ではネイティブの等価性が問題ありません。 – omega

+2

これは古典的な[XY問題](http://meta.stackexchange.com/q/66377/289905)です。あなたは実際何をしようとしていますか?なぜあなたはそのようなハッシュマップが必要でしょうか? – Xufox

答えて

0

あなたは数字で配列を使用し、カンマでデフォルトで参加することができます。次に、文字列をオブジェクトのキーとして取ります。

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; }

関連する問題