Javascript: средняя оценка и оценка по буквам студентов - PullRequest
0 голосов
/ 05 октября 2019

Я просматривал этот код 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");
}

РЕДАКТИРОВАТЬ: 09/10/2019

Я изменил свой код для этого:

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 ]

1 голос
/ 05 октября 2019

Вы можете установить элемент с помощью

const element = document.querySelector(YOUR HTML ELEMENT SELECTOR);

Затем внутри каждого оператора if

element.innerText = grade
0 голосов
/ 05 октября 2019

Сначала объявите новую переменную для оценки: let grade = "", а затем в вашей переменной переменной if / else grade присваивается новое значение с каждым условием.

в вашем html выберите элемент, в котором вы будетехотите, чтобы он появился, а затем назначьте переменную оценку как его 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 
...