【发布时间】:2019-10-04 21:17:42
【问题描述】:
我正在查看这段 Javascript 代码来计算一组学生的平均成绩,然后根据结果决定应该分配哪个字母成绩。我想知道您将如何在 HTML 中显示这两个结果?我玩过并尝试了一些东西,但似乎没有任何效果。我也是 Javascript 新手,所以解决方案很可能非常简单,但我不知道该怎么做。
var students = [80, 77, 88, 95, 68];
var Avgmarks = 0;
for (var i = 0; i < students.length; i++) {
Avgmarks += students[i][1];
var avg = (Avgmarks / students.length);
}
console.log("Average grade: " + (Avgmarks) / students.length);
if (avg < 60) {
console.log("Grade : F");
} else if (avg < 70) {
console.log("Grade : D");
} else if (avg < 80) {
console.log("Grade : C");
} else if (avg < 90) {
console.log("Grade : B");
} else if (avg < 100) {
console.log("Grade : A");
}
编辑:2019 年 9 月 10 日
我已将我的代码修改为:
let students = [80, 77, 88, 95, 68];
let avgMarks = 0;
for (let i = 0; i < students.length; i++) {
avgMarks += students[i];
}
let avg = avgMarks / students.length;
if (avg <= 60) {
document.write("Grade : F");
}
else if (avg <= 70) {
document.write("Grade : D");
}
else if (avg <= 80) {
document.write("Grade : C");
}
else if (avg <= 90) {
document.write("Grade : B");
} else {
document.write("Grade : A");
}
document.getElementById("studentAvgGrade").innerHTML = avg;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Average Student Grade and Letter Grade</title>
</head>
<body>
<div id="studentAvgGrade"></div>
</body>
</html>
我的代码现在可以工作了。谢谢大家的帮助。
不过,我想知道这是否是使用纯 Javascript 解决任务的最佳方法,还是有更好的方法?
【问题讨论】:
-
选择一个元素并将其文本替换为等级?
-
你应该在循环结束后设置
avg,而不是每次都设置。 -
你应该在
console.log()调用中使用它,而不是在那里重新计算。 -
我不明白这个问题。只需将对
console.log()的调用替换为document.getElementById(something).innerText = ... -
显示您玩过的游戏,以便我们帮助您解决问题。我们不会为你写的。
标签: javascript html arrays for-loop if-statement