Javascript:学生的平均成绩和字母成绩

时间:2019-10-04 21:17:42

标签: javascript html arrays for-loop if-statement

我正在查看此Javascript代码,以计算一系列学生的平均成绩,然后根据结果确定应分配的字母成绩。我想知道如何在HTML中显示这两个结果?我玩耍并尝试了一些尝试,但似乎没有任何效果。我也是Java的新手,所以解决方案很可能非常简单,但是我不确定如何去解决它。

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解决任务的最佳方法,还是有更好的方法?

2 个答案:

答案 0 :(得分:1)

您可以使用

设置元素
const element = document.querySelector(YOUR HTML ELEMENT SELECTOR);

然后在每个if语句中

element.innerText = grade

答案 1 :(得分:0)

首先声明一个新的等级变量: 让成绩=“” 然后在if / else语句中,为变量变量分配每个条件的新值。

在您的html中选择您希望其出现的元素,然后将变量grade分配为其innerhtml。

<h1 id='grading'></h1> 

并在您的js中:

let grade = ""
if (avg < 60){
      console.log("Grade : F");   
      grade = "F"   
      } 
    else if (avg < 70) {
            console.log("Grade : D"); 
            grade = "D"
              } 
    else if (avg < 80) 
         {
            console.log("Grade : C"); 
            grade = "C"
    } else if (avg < 90) {
            console.log("Grade : B");
            grade = "B" 
    } else if (avg < 100) {
            console.log("Grade : A"); 
            grade = "A"
}

const gradeToDisplay = document.getElementById("grading")
grading.innerHTML = grade