2 回答

TA貢獻1831條經驗 獲得超10個贊
最好和最短的方法,只需過濾和計數
let voters = [
{name:'Bob' , age: 30, voted: true},
{name:'Jake' , age: 32, voted: true},
{name:'Kate' , age: 25, voted: false},
{name:'Sam' , age: 20, voted: false},
{name:'Phil' , age: 21, voted: true},
{name:'Ed' , age:55, voted:true},
{name:'Tami' , age: 54, voted:true},
{name:'Mary', age: 31, voted: false},
{name:'Becky', age: 43, voted: false},
{name:'Joey', age: 41, voted: true},
{name:'Jeff', age: 30, voted: true},
{name:'Zack', age: 19, voted: false}
];
voters.filter(person => person.voted).length

TA貢獻1812條經驗 獲得超5個贊
您可以使用單個 reduce 并將對象的布爾值簡單地添加到計數中。
function total(array) {
return array.reduce(function(count, voter) {
return count + voter.voted;
}, 0);
}
var voters = [{ name: 'Bob', age: 30, voted: true }, { name: 'Jake', age: 32, voted: true }, { name: 'Kate', age: 25, voted: false }, { name: 'Sam', age: 20, voted: false }, { name: 'Phil', age: 21, voted: true }, { name: 'Ed', age:55, voted: true }, { name: 'Tami', age: 54, voted: true }, { name: 'Mary', age: 31, voted: false }, { name: 'Becky', age: 43, voted: false }, { name: 'Joey', age: 41, voted: true }, { name: 'Jeff', age: 30, voted: true }, { name: 'Zack', age: 19, voted: false }];
console.log(total(voters));
添加回答
舉報