javascript - 获取对象中包含项目的总数
问题描述
我有一个对象“totalItems”,它的键包含数字作为值。
我有一个名为“exluded”的数组,其中包含在进行计数时应该排除的键字符串。
现在,由于我的“排除”数组包含“B”和“C”,在计算对象值的总和时,我不应该包含“B”和“C”。
因此,我的输出应该是:A 的值 + D 的值 = 2 + 1 = 3。
我如何实现这一目标?
function getData() {
var totalItems = {
'A': 2,
'B': 1,
'C': 1,
'D': 1
}
var excluded = ['B', 'C'];
// console.log(Object.keys(passengers));
}
<button onclick="getData()">Get data</button>
解决方案
如果你想使用,你应该可以这样做Object.keys
:
function getData() {
var totalItems = {
'A': 2,
'B': 1,
'C': 1,
'D': 1
}
var excluded = ['B', 'C'];
const sum = Object
.keys(totalItems)
.filter(key => !excluded.includes(key))
.reduce((sum, key) => sum + totalItems[key], 0);
console.log(sum);
}