如何获取所有对象并计算布尔值(JS)



让它像这样,例如:

let data = {
first: {
surname: 'Miller',
age: 37,
gender: 'male',
stealer: true
},
second: {
surname: 'Connor',
age: 28,
gender: 'male',
stealer: true
},
third: {
surname: 'Smith',
age: 13,
gender: 'female',
stealer: false
}
}

如何一次获取所有内容并计算false的布尔值,而不需要手动单独输入每个布尔值?

您可以使用Object.values以数组形式检索值,使用Array.prototype.reduce进行计数:

let data = { first: { surname: 'Miller', age: 37, gender: 'male', stealer: true }, second: { surname: 'Connor', age: 28, gender: 'male', stealer: true }, third: { surname: 'Smith', age: 13, gender: 'female', stealer: false } };
const result = Object.values(data).flatMap(el => Object.values(el)).reduce((acc, el) => acc + (el === false), 0); 
console.log(result);

最新更新