我有一个使用情况,需要从一个Map
中获取一个项目。如果该项目不存在,我想插入一个初始值并保存它以备后用。我还想使用const
变量,这样我就不会意外重新绑定本地变量。我知道我可以编写自己的帮助程序,但在我看来,这种模式需要大量的编写,而我期望这种模式非常普遍:
const item = myMap.has(key) ? myMap.get(key) : myMap.set(key, initialize()).get(key);
或者避免在 .set()
后立即使用 .get()
:
const item = myMap.has(key) ? myMap.get(key) : (() => {const value = initialize(); myMap.set(key, value); return value})();
有没有一种更简单的方法将一个
Map
中的项目放入一个const
变量中,如果它还不存在,则首先插入一个键的初始值?我知道有一个类似的问题存在,但在那个问题中,没有要求插入的项目在插入后存储在本地,并且它使用
let
而不是const
。编辑:我已经采用实用程序函数路线,并创建了maputil。