我目前有這樣的代碼,其中speciesMap是一個映射,其中鍵具有映射值。有沒有簡單的方法來增加Map對象的值?
var speciesMap = new Map();
...
if(!speciesMap.get(species)) {
let obj = new Map();
obj.set('count', 0);
obj.set('vol', 0);
speciesMap.set(species, obj);
}
我想增加給定物種的數量爲1,但我發現這樣做的唯一途徑就是這樣。
speciesMap.get(species).set('count', speciesMap.get(species).get('count') + 1);
是否有增加值,而不是再次下降了整個地圖檢索其值一個更清潔,更簡單的方法?同樣適用於音量,我需要沿着這個對象向其添加+ vol
。
想要的東西,像
speciesMap.get(species).set('count', this+1);
這顯然是行不通的。
我想'obj'應該是一個對象,而不是一個'Map',當你不使用動態密鑰的任何地方? – Bergi
因爲我之前沒有在javascript中使用過動態按鍵,所以我被這個功能搞亂了,並且被帶走了,但是'obj'可以是一個對象。會從代碼中移除一個'get()'。 – hitsugan
是的,你可以做'specialMap.get(species).count ++;':-) – Bergi