我正在尝试创建一个函数,该函数将返回分数的平均值,但是陷入了for循环过程之间,如果有人可以帮助我了解我所缺少的内容,那么它将很有帮助
function getAverageTestScore(scores) {
for(var i = 0; i < scores.length; i++){
return scores[i]
}
}
const avg = getAverageTestScore([80, 100]);
console.log(avg, '<-- should be 90');
答案 0 :(得分:0)
递增值为scores[i]
的变量将返回该变量除以scores.length
。不要从return
循环中for
function getAverageTestScore(scores) {
let n = 0;
for(var i = 0; i < scores.length; i++){
n += scores[i];
}
return n / scores.length
}
const avg = getAverageTestScore([80, 100]);
console.log(avg, '<-- should be 90');
答案 1 :(得分:0)
一种流行的推荐方法是使用reduce方法,例如下面的示例
const scores = [10, 20, 30, 50, 10];
const average = scores.reduce((accumulator, currentValue, index, array) => {
accumulator += currentValue;
if (index === array.length - 1) {
return accumulator / array.length;
}
return accumulator;
}, 0);
console.log(average);
在转到MDN之前,作者以实用的方式分享了其他一些使用reduce有意义的常见情况。
基本上,经验法则可能是:当需要将数组转换为紧凑或摘要版本时,使用reduce可能是一种实现方法