簡體   English   中英

我如何使用reduce來計算對象中一個值的總和

[英]How do I use reduce to calculate the total of a value in an object

 const people = [ { name: 'Matt', friend: true, awesomeLevel: 10 }, { name: 'Matias', friend: true, awesomeLevel: 10 }, { name: 'Catie', friend: false, awesomeLevel: 3 }, { name: 'Samantha', friend: false, awesomeLevel: 4 }, { name: 'Jonathan', friend: true, awesomeLevel: 8 }, { name: 'Josh', friend: true, awesomeLevel: 7 } ] let totallyAwesome = people.reduce((acc, ele) => acc + ele.awesomeLevel) console.log(totallyAwesome)

所以我正在嘗試使用 reduce 來獲得 awesomeLevel 的總和

您需要為累加器添加一個初始值。 否則,第一個元素將作為Array#reduce起始值。

 const people = [ { name: 'Matt', friend: true, awesomeLevel: 10 }, { name: 'Matias', friend: true, awesomeLevel: 10 }, { name: 'Catie', friend: false, awesomeLevel: 3 }, { name: 'Samantha', friend: false, awesomeLevel: 4 }, { name: 'Jonathan', friend: true, awesomeLevel: 8 }, { name: 'Josh', friend: true, awesomeLevel: 7 } ]; let totallyAwesome = people.reduce((acc, ele) => acc + ele.awesomeLevel, 0); // ^ console.log(totallyAwesome);

您只忘記了最后作為第二個參數的 reduce 中的起始值0 (就在回調之后)。

 const people = [ { name: 'Matt', friend: true, awesomeLevel: 10 }, { name: 'Matias', friend: true, awesomeLevel: 10 }, { name: 'Catie', friend: false, awesomeLevel: 3 }, { name: 'Samantha', friend: false, awesomeLevel: 4 }, { name: 'Jonathan', friend: true, awesomeLevel: 8 }, { name: 'Josh', friend: true, awesomeLevel: 7 } ] let totallyAwesome = people.reduce((acc, {awesomeLevel}) => acc + awesomeLevel, 0); console.log(totallyAwesome)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM