javascript - if 语句语法错误
问题描述
我正在做一些javascript练习,虽然我确实设法正确地完成了这个练习,但我很困惑。
所以这是一个练习,必须将标记列表的平均值与给定的值范围进行比较,以返回一个字符串,该字符串响应标记是否足够。我发现当使用 > 运算符进行比较时,它返回未定义。即使也给出了上限,并且仅此(没有下边界值 + > 运算符)确实会返回字符串。我真的不明白为什么会这样。
谢谢你的帮助
const marks = [ 80, 80, 50 ]
console.log (calculateGrade (marks));
function calculateGrade(marks) {
let markstotal=0;
for (let mark of marks)
markstotal += mark;
let average = markstotal / marks.length;
if (average <= 59)
return "F";
if (average < 59)
return "mehh";
if (average > 70 && average < 90)
return "oh yeah mate";
}
解决方案
const marks = [80,80,50]
function calculateGrade(marks){
var markstotal = 0
marks.forEach(mark => markstotal+=mark);
console.log(markstotal)
let average = markstotal/marks.length
if (average <= 59)
return "F"
else if (average > 59 && average <70)
return "meh"
else
return "Fuckyeahhmate";
}
console.log(calculateGrade(marks))
我建议改用 .forEach 方法。如果你想遍历一个循环也是可能的
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
console.log(myStringArray[i]);
//Do something
}
下次请贴代码!!
推荐阅读
- python - 如何从 pyomo 模型中删除 Set 元素(和相关组件)?
- docker - Docker:Dockerfile 无法执行 COPY
- javascript - React JS 路由仅在重新加载时有效
- azure - ValidationError:使用 AzureAD 进行 hapi JS 路由授权时不允许使用“tenantId”
- excel - 如何从对象中的项目中获取值?
- javascript - 带参数的 Azure Cosmos DB 存储过程
- c++ - 删除函数 C++ 中的对象
- mysql - 将 SQL 语句转换为 PySpark
- flutter - 如何修复flutter web TextFormField不接受也不响应输入?
- powershell - 在 PowerShell 中处理文件拖到 BAT 文件