首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我需要创建一个评分器,在学生的平均成绩'A,B‘等上打分,但是我很难把分数输出到网页上

我需要创建一个评分器,在学生的平均成绩'A,B‘等上打分,但是我很难把分数输出到网页上
EN

Stack Overflow用户
提问于 2022-06-07 11:34:41
回答 3查看 54关注 0票数 0

我需要创建一个评分器,在学生的平均成绩'A,B‘等,但我有困难输出的分数到网页。我只需要它显示等级,它在控制台上工作,但我不知道在网页上显示正确的功能,或者我的代码是错误的。

这是密码

javascript

代码语言:javascript
运行
复制
var result = '';
const grade = document.getElementById('myGrades')
const myJSTestResults = [40, 15, 55, 70, 80];
const average = (40 + 15 + 55 + 70 + 80)/5;

 function jsGrades() {
if (average <= 100 && average >= 80) {
  result = console.log(`A`);
}else if (average <= 79 && average >= 70){
  result = console.log('B');
}else if (average <= 69 && average >= 60){
    result = console.log('C');
}else if (average <= 59 && average >= 50){
    result = console.log('D');
}else {
    result = console.log('F');
} jsGrades();
grade.innerHTML += `

<div>
<h1>${result}</h1>
</div>

`

}

html

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>

<head>
</head>

<body onload="loadContent()">
   <h1>My favourite languages:</h1>
   <ul id="favLanguages"></ul>
   <br>
   <div id="myGrades">
      <button onclick="myGrades()">Grade</button>
   </div>
   <script  src="./arraytask.js"></script>
</body>

</html>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-06-07 12:27:11

我只是让代码更加清晰,以便更好地理解。

代码语言:javascript
运行
复制
var result = '';
const myJSTestResults = [40, 15, 55, 70, 80];
const average = (40 + 15 + 55 + 70 + 80)/5;

Number.prototype.between = function(max, min) {
  return this > min && this < max;
};

function jsGrades() {
  if (average.between(100, 80)) {
    result = 'A'
  }else if (average.between(79, 70)){
    result = 'B'
  }else if (average.between(69, 60)){
    result = 'C'
  }else if (average.between(59, 50)){
    result = 'D'
  }else {
    result = 'F'
  }
  return result;
}

function myGrades() {
    document.getElementById('result').innerHTML = jsGrades();
}
代码语言:javascript
运行
复制
<button onclick="myGrades()">Grade</button>
<div id="result"></div>

您还可以使用存档.inRange来检查范围内的数字。

票数 0
EN

Stack Overflow用户

发布于 2022-06-07 11:42:38

您需要删除console.log并直接将值赋值给result变量。

代码语言:javascript
运行
复制
const grade = document.getElementById('myGrades')
const myJSTestResults = [40, 15, 55, 70, 80];
// Can also use reduce here to calculate the sum of results
const sum = myJSTestResults.reduce((prev, next) => prev += next, 0)
const average = sum / myJSTestResults.length;

function jsGrades() {
  let result = 'F';
  if (average <= 100 && average >= 80) {
    result = 'A';
  } else if (average <= 79 && average >= 70) {
    result = 'B';
  } else if (average <= 69 && average >= 60) {
    result = 'C';
  } else if (average <= 59 && average >= 50) {
    result = 'D';
  }
  return result
}

function myGrades() {
  const result = jsGrades();
  grade.innerHTML += `
    <div>
    <h1>${result}</h1>
    </div>
  `
}
代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>

<head>
</head>

<body>
  <h1>My favourite languages:</h1>
  <ul id="favLanguages"></ul>
  <br>
  <div id="myGrades">
    <button onclick="myGrades()">Grade</button>
  </div>
  <script src="./arraytask.js"></script>
</body>

</html>

票数 1
EN

Stack Overflow用户

发布于 2022-06-07 11:43:18

代码语言:javascript
运行
复制
var result = '';
const grade = document.getElementById('myGrades')
const myJSTestResults = [40, 15, 55, 70, 80];
const average = (40 + 15 + 55 + 70 + 80)/5;

 function jsGrades() {
if (average <= 100 && average >= 80) {
  result = "A";
}else if (average <= 79 && average >= 70){
  result = "B";
}else if (average <= 69 && average >= 60){
    result = "C";
}else if (average <= 59 && average >= 50){
    result ="D";
   
}else {
    result = "F";
} 
console.log(result);
document.getElementById("result").innerHTML = result;

}

然后进行div以显示单击后的结果。

代码语言:javascript
运行
复制
<div id="result"></div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72530501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档