获取对象中包含项的总数

时间:2018-11-30 04:21:36

标签: javascript arrays object

我有一个对象'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>

1 个答案:

答案 0 :(得分:0)

如果要使用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);			
}