查看幾個不同的文檔,我看到的全部是當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
不幸的是我不能檢查它是否是同一個對象本身。它必須是具有相同設置的一些共同屬性的對象。有沒有辦法做到這一點? –