【发布时间】:2021-04-14 11:42:33
【问题描述】:
我想要达到的目标:
- 计算带有分数的数组的平均分数的函数。
- 使函数可重复用于不同的数组
目前已实现:
const grades = [9, 8, 5, 7, 7, 4, 9, 8, 8, 3, 6, 8, 5, 6];
function classAverage () {
let sumOfGrades = 0;
for(let i = 0; i < (grades.length); i++) {
sumOfGrades += grades[i];
}
const averageGrade = sumOfGrades/(grades.length);
return averageGrade;
}
classAverage(grades);
console.log(averageGrade);
这似乎在我的 ide 中有效,在这里它会产生一个错误 averageGrade not defined。 接下来我希望这个函数可以应用于更多的数组,比如 Grades1999 或 Grades2021 但是函数内部的 for 循环使用 Grades 数组进行计算,我怎样才能实现这个函数可以使用类似:classAverage Grades(2019 ) 具有不同名称的数组。
感谢您的宝贵时间!
【问题讨论】:
-
你永远不会使用移交的数组。而是使用全局
grades数组。 -
const averageGrade是在函数内部声明的,所以它只能在这个函数内部使用。你也用classAverage(grades)调用它,你传递了一些东西(等级),但是这个函数不接受任何参数,所以这是没用的。 -
另外,你需要使用函数返回的值返回:
const average = classAverage(grades); -
你实际上需要两个函数
sum(array)返回一个数组的总和,avg(array)使用sum计算平均值。这两个函数都不应使用class、grades和其他特定于问题的术语。 -
感谢大家的贡献!这真的帮助我提高了我的技能。
标签: javascript arrays function