Emi*_*n M 1 javascript average mapreduce
我想创建一个接收任意数量参数并根据数量取平均值的函数。论据。所以我尝试了如下代码;
function takeAvg(...nums) {
return nums.reduce((total, curVal) => {
return (total + curVal) / nums.length;
});
}
console.log(takeAvg(10, 20)) // returns 15 - no problem
console.log(takeAvg(10, 20, 30)) // returns 13.333333333333334 weirdly.Run Code Online (Sandbox Code Playgroud)
我认为问题出在 nums.legth 上,但我不明白为什么?请帮忙。谢谢。
您的错误是您将求和的每个部分结果除以长度,而不仅仅是最终结果。
function takeAvg(...nums) {
return nums.reduce((total, curVal) => {
return (total + curVal);
}) / nums.length;
}
console.log(takeAvg(10, 20)) // 15
console.log(takeAvg(10, 20, 30)) // 20Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36 次 |
| 最近记录: |