我正在使用一个对象来存储状态,并且该对象看起来像这样:
{
"CPC": 0,
"NDP": 0,
"LPC": 0,
"GPC": 1,
"PPC": 2
}
所有键值都是通用类型<T>
的枚举数。
假设我可以这样调用该对象:
console.log(this.optionVotes());
// Produces:
{ "CPC": 0, "NDP": 0, "LPC": 0, "GPC": 1, "PPC": 2 }
从中获得价值3的最佳方法是什么?
答案 0 :(得分:4)
您可以使用Object.keys()和Array.prototype.reduce()
代码:
const data = { "CPC": 0, "NDP": 0, "LPC": 0, "GPC": 1, "PPC": 2 };
const result = Object
.keys(data)
.reduce((a, key) => a + data[key], 0);
console.log(result);
答案 1 :(得分:2)
Objec.value(obj)
将在键内返回一个值数组,并减少在reduce的回调内将每个值添加到var c
计数器中的其余操作。
var foo = { "CPC": 0, "NDP": 0, "LPC": 0, "GPC": 1, "PPC": 2 }
console.log(Object.values(foo).reduce((a, c) => a + c, 0))