我需要创建一个评分器,在学生的平均成绩'A,B‘等,但我有困难输出的分数到网页。我只需要它显示等级,它在控制台上工作,但我不知道在网页上显示正确的功能,或者我的代码是错误的。
这是密码
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
<!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>
发布于 2022-06-07 04:27:11
我只是让代码更加清晰,以便更好地理解。
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();
}
<button onclick="myGrades()">Grade</button>
<div id="result"></div>
您还可以使用存档.inRange来检查范围内的数字。
发布于 2022-06-07 03:42:38
您需要删除console.log
并直接将值赋值给result
变量。
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>
`
}
<!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>
发布于 2022-06-07 03:43:18
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以显示单击后的结果。
<div id="result"></div>
https://stackoverflow.com/questions/72530501
复制