複数の異なるドキュメントを見ると、Map(ECMAScript6)キーがブール値、文字列、または整数の場合のみ表示されます。新しいカスタムオブジェクト(新しいCustomObject(x、y)コンストラクタ呼び出しで呼び出される)をキーとして追加する方法がありますか?Javascript Mapにオブジェクトキーがあるかどうかを確認する方法
オブジェクトをキーとして追加できますが、マップにそのオブジェクトがあるかどうかを確認できません。
var myMap = new Map();
myMap.set(new Tuple(1,1), "foo");
myMap.set('bar', "foo");
myMap.has(?);
myMap.has('bar'); // returns true
方法はありますか?
var myMap = new Map();
myMap.set(new Tuple(1,1), "foo");
for(some conditions) {
var localData = new Tuple(1,1); //Use directly if exists in myMap?
map.has(localData) // returns false as this is a different Tuple object. But I need it to return true
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has
はい、あなたは任意のオブジェクトを使用することができます鍵として同じキーと値を持つオブジェクトだけでなく、毎回同じオブジェクトでなければなりません。ネストされた 'Map'は' Tuple'ルックアップを実装するための一つのオプションです。 – Ryan
残念ながら、同じオブジェクトであるかどうかは確認できません。同じように設定されたいくつかの共通プロパティを持つオブジェクトでなければなりません。これを行う方法はありますか? –