【发布时间】:2018-07-07 11:33:42
【问题描述】:
这是我在这里的第一篇文章。我是 Javascript 新手,这是我的问题:
我在 html 中有四个输入字段。用户不必填写所有四个输入字段;一个就足够了。现在我的问题是如何获得输入的平均值,无论用户只给了我一个填充字段还是 2 个或 3 个甚至四个填充字段。
这是我的起始代码,但它有问题。
function calculateAll() {
//first create an array to gather inputs from user and create the sum
var listening_avg_array = new Array();
listening_avg_array[0] = parseInt(listeningInput1_js.value);
listening_avg_array[1] = parseInt(listeningInput2_js.value);
listening_avg_array[2] = parseInt(listeningInput3_js.value);
listening_avg_array[3] = parseInt(listeningInput4_js.value);
//now we calculate the average for listening scores
var sum = 0;
for (var i = 0; i < listening_avg_array.length; i++) {
sum += listening_avg_array[i];
}
var avg = sum / listening_avg_array.length;
listening_avg_span_js.innerHTML = avg;
}
很遗憾,如果用户只给了我 3 个或更少的输入,我会收到“NaN”错误;但是如果用户给我所有四个输入,代码就可以工作,但这只是可能的条件之一。有时我可能只能从用户那里得到 2 个字段,我必须通过将总和除以 2 来获得平均值。
我不知道该怎么做。
这是html:
<input id="listening-input1" type="number" min="60" max="100">
<input id="listening-input2" type="number" min="60" max="100">
<input id="listening-input3" type="number" min="60" max="100">
<input id="listening-input4" type="number" min="60" max="100">
【问题讨论】:
-
你想只从填充的字段中获取平均值吗?
-
@NinaScholz 完全正确。
标签: javascript arrays average