2 回答

TA貢獻1815條經(jīng)驗 獲得超10個贊
簡單的方法,一步步處理。
const getAverage = (reviews) => {
let TotalStars = reviews.reduce((prev, curr) => (curr.stars + prev), 0)
// TotalStars is 3.6666
// below use any one of them averageStars
// let averageStars = Math.round(TotalStars/reviews.length); // output 4
// let averageStars = Math.floor(TotalStars/reviews.length); // output 3
let averageStars = Math.floor((TotalStars/reviews.length)*10)/10;// output 3.6
return averageStars;
};
<div>
<p className="totalReviewsTally">Average: {getAverage(reviews)} {reviews.length}</p>
</div>

TA貢獻1858條經(jīng)驗 獲得超8個贊
您忘記return了評論getAverage,我已嘗試解決一些問題,如果這仍然不起作用,請告訴我。
根據(jù)你的評論
Reviews = [ { "text": "太可愛了,喜歡它!", "stars": 4, "id": 1 }, { "text": "手工制作很可愛,但第一次洗就褪色了。", "stars": 2, "id": 2 }, { "text": "給我最好的朋友的第一個孩子的好禮物。", "stars": 5, "id": 3 } ]
const getAverage = (reviews) => {
return Math.round(reviews.reduce((acc, curr) => (acc + curr.stars), 0) / reviews.length));
};
<div>
<p className="totalReviewsTally">Average: { getAverage(reviews) } {reviews.length}</p>
</div>
添加回答
舉報