JavaScript - Map() 增量值

标签 javascript loops dictionary ecmascript-6

我有一张 map 如下:

let map = new Map();
map.set("a", 1);
//Map is now {'a' => 1}

我想将 a 的值更改为 2,或者递增它:map.get("a")++;

目前,我正在使用以下内容:

map.set("a", (map.get("a"))+1);

但是,这感觉不对。有谁知道这样做的更清洁的方法?可能吗?

最佳答案

你这样做的方式很好。如果您使用原始值,这就是您需要这样做的方式。如果您想避免调用 map.set,那么您必须恢复为一个值的引用。换句话说,那么你需要存储一个对象,而不是一个原始类型:

let map = new Map();
map.set("a", {val: 1});

然后递增变成:

map.get("a").val++;

关于JavaScript - Map() 增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53584369/

相关文章:

c# - 不留/少留痕迹

javascript - 以下标记中最有效的 jQuery 选择器是什么?

javascript - 子状态更改时 Angular 重新加载父 Controller

loops - Common Lisp dotimes 结果之谜

postgresql - 测量执行 PostgreSQL 查询所需的时间

javascript - 使用 JS linter/formatter 将条件(else/if)运算符转换为逻辑运算符(&& ||)?

javascript - 检查主数组中的所有元素在由标识符 javascript 标识的子数组中是否至少出现一次

c# - 如何检查字典是否存在字符串值以进行条件比较

C++ 映射 lower_bound()

Javascript 语法字典(标准函数、对象、方法和关键字)