0
JavaScriptには{}のような、1つの値だけのキーを持つことができるオブジェクトがあります。しかし、一般的には、キーが多値であるようなハッシュマップが必要な場合は、値にマップされる3または6または7の整数などがあります。ネイティブで扱う最良の方法があれば、 ?複数のキーでハッシュマップを処理するためのjavascriptライブラリやネイティブな方法はありますか?
おかげ
JavaScriptには{}のような、1つの値だけのキーを持つことができるオブジェクトがあります。しかし、一般的には、キーが多値であるようなハッシュマップが必要な場合は、値にマップされる3または6または7の整数などがあります。ネイティブで扱う最良の方法があれば、 ?複数のキーでハッシュマップを処理するためのjavascriptライブラリやネイティブな方法はありますか?
おかげ
あなたは数字で配列を使用し、カンマでデフォルトで参加することができます。次に、文字列をオブジェクトのキーとして取ります。
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; }
まあ、やや新しいMapクラスがありますが、あなたのアプリケーションのための基本的な問題は、 '.hashValue()'と '.equals()'慣習のようにJavaScriptで何もないということですJava(例えば)。したがって、主要な平等を決定するためのネイティブの平等の比較が、あなたが作業しなければならないことです。 – Pointy
これは問題ありません。キーはすべての整数なので、キーの比較ではネイティブの等価性が問題ありません。 – omega
これは古典的な[XY問題](http://meta.stackexchange.com/q/66377/289905)です。あなたは実際何をしようとしていますか?なぜあなたはそのようなハッシュマップが必要でしょうか? – Xufox