如果我使用对象文字作为地图,我可以简单地执行:obj[key]++
,但对于通过new Map
创建的地图,现在我必须执行以下操作:
let currentVal = myMap.get(key);
myMap.set(currentVal + 1);
这是很多打字而且没有近乎优雅的地方。我在MDN上读到了https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map,但似乎并不是一个涵盖我用例的例子。
答案 0 :(得分:-1)
很多时候,如果你在地图中存储基元,那么你无论如何都会做错。很多时候,您希望将该值与其他属性相关联。无论如何,虽然它的开销稍微增加,但您可以通过存储Object而不是原始来简化它。
myMap.set({ value: initialValue });
// later
myMap.get(key).value++;