【发布时间】:2020-04-17 17:05:48
【问题描述】:
处理一个带有两个输入字段的表单,供用户输入学生的姓名和分数,以及四个按钮,其中一个添加名称和标记,将每个值存储在控制台中。第二个在显示框中显示存储的结果,第三个按钮是清除所有,清除控制台和显示框。
第四个按钮是计算输入分数的平均值。我的问题是这些标记没有存储在下面的数组中,它们存储在用户输入的控制台中。我正在尝试将这些值存储在控制台中并计算出平均值。
<form onsubmit="return false">
<h4>Enter student results</h4>
Name:
<input type="text" id="name" autofocus required>
Mark:
<input type="number" id="mark" min="0" max="100" required>
<div id="buttonBlock">
<input type="button" id="Add" value="Add Result">
<input type="button" id="Clear" value="Clear All">
<input type="button" id="Display" value="Display All">
<input type="button" id="Average" value="Calculate Average">
</div>
</form>
<p id="result"></p>
let insertName = [];
let insertMark = [];
//Arrays//
function getTotal() {
let total = 0;
let count = 0;
for (let i = 0; i < mark.length; i++) {
total += mark.length[i];
}
if (mark[i] !== undefined) {
//legit value//
count++;
total += mark[i];
}
let avg = total / count;
console.log(avg)
document.getElementById("result").innerHTML = " The Average is " + total;
}
document.getElementById("Average").addEventListener("click", getTotal);
【问题讨论】:
-
NaN代表不是数字。你有没有在你的代码中设置断点来检查你有什么值? -
什么是
mark?您有两个i变量。 -
mark来自哪里,mark.length[i]应该是什么? -
请添加minimal reproducible example,以便我们重现问题。
-
mark 是一个数组,但不包含数字。我正在尝试从控制台获取值来计算平均值。
标签: javascript arrays average