亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript array.filter 和 reduce

Javascript array.filter 和 reduce

慕娘9325324 2021-11-12 15:53:53
將一組選民對象轉換為投票人數的計數 請幫助我我開始學習 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}];``
查看完整描述

2 回答

?
慕哥6287543

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


查看完整回答
反對 回復 2021-11-12
?
ABOUTYOU

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));


查看完整回答
反對 回復 2021-11-12
  • 2 回答
  • 0 關注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號