我有一个地图,其中值是数字。有什么方法可以获取所有值的总和?
示例:
{"key1":6,"key2":5}
预先感谢
编辑:地图示例:
Map(2) {23 => 1, 24 => 3}
答案 0 :(得分:0)
您可以简单地遍历对象并求和,
const ob = {"key1":6,"key2":5}
let sum = 0;
for (let key in ob) {
sum += ob[key];
}
console.log(sum);
一种简洁的方法可能是:
const ob = {"key1":6,"key2":5}
const sum = Object.values(ob).reduce((acc, val) => acc + val, 0);
console.log(sum);
如果您有Map
,则可以遍历并找到总和,如下所示:
const myMap = new Map([[23, 1], [24, 3]]);
let sum = 0;
myMap.forEach((v) => {
sum += v;
});
console.log(sum)
答案 1 :(得分:0)
首先,这是一个对象,而不是Map。要对值求和,可以使用for...in
或Object.values().reduce
:
const obj = {
"key1": 6,
"key2": 5
};
let sum = 0;
for (let prop in obj) {
sum += obj[prop];
}
console.log(sum);
const obj = {
"key1": 6,
"key2": 5
};
const sum = Object.values(obj).reduce((a, c) => a + c, 0);
console.log(sum);