首页 > 解决方案 > 获取对象中包含项目的总数

问题描述

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

标签: javascriptarraysobject

解决方案


如果你想使用,你应该可以这样做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);			
}


推荐阅读