猿问

Javascript array.filter 和 reduce

将一组选民对象转换为投票人数的计数 请帮助我我开始学习 javascript 但我对减少和过滤某些人可以解决的问题感到困惑?我运行代码和未定义的@@``


    function total(arr) {

    let result = arr.filter(function(votes){

   return votes !==true;

 }).reduce(function(item,cur){

   return [(+item),+(+cur)];

 },[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}

];``


慕娘9325324
浏览 146回答 2
2回答

慕哥6287543

最好和最短的方法,只需过滤和计数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

ABOUTYOU

您可以使用单个 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));
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答