javascript - javascript将函数应用于不同的数组
问题描述
我想要达到的目标:
- 计算带有分数的数组的平均分数的函数。
- 使函数可重用于不同的数组
迄今为止取得的成绩:
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 未定义。接下来我希望这个函数可以应用于更多的数组,比如 Grades1999 或 Grades2021 但是函数内部的 for 循环使用 Grades 数组进行计算,我怎样才能实现这个函数可以使用类似:classAverage Grades(2019 ) 具有不同名称的数组。
感谢您的时间!
解决方案
您需要函数内部数组的参数来计算不同的数组。
因此,您需要对返回值进行赋值或直接使用它而不存储结果。
然后,您可以直接使用for ... of
语句获取值。
一些提示:
- 通过获取一个属性,您无需将其括在括号中。
- 要了解本地或全局范围的差异,请查看此处:https ://developer.mozilla.org/en-US/docs/Glossary/Scope
function classAverage (grades) {
let sumOfGrades = 0;
for(const grade of grades) {
sumOfGrades += grade;
}
return sumOfGrades/grades.length;
}
console.log(classAverage([9, 8, 5, 7, 7, 4, 9, 8, 8, 3, 6, 8, 5, 6]));
推荐阅读
- sql - 如果不匹配,子查询返回所有行
- postgresql - 无法通过 postico 连接到 postgreSQL docker 容器
- angular - 订阅 cdk 滚动策略事件
- hibernate - Hibernate @ManyToOne 级联混合
- javascript - javascript ajax POST问题
- python - 通过熊猫中相同数据帧的切片索引设置数据帧列不起作用
- nuget - 虚拟巧克力存储库无法从远程获取最新包
- c - 编译 HTK 时出现“致命错误:bits/libc-header-start.h:没有这样的文件或目录”
- r - R Tibble 整理困境
- twitter-bootstrap - Bootstrap 3忽略列宽