【发布时间】:2021-04-03 21:06:30
【问题描述】:
我开始学习 Javascript,我正在开发一个简单的代码来提醒你哪个数字更大,但我不知道为什么位置 0 和 1 之间的比较总是等于位置 0如果它的值不是 1 则更大,例如,如果位置 0 = 5 且位置 1 = 10,则结果是位置 0 是更大的,但如果位置 0 = 1 且位置 1 = 大于 1 的任何值结果是位置 1 是较大的位置。我不知道为什么它只发生在位置 0 和 1 之间的比较而不是 1 和 2 之间的比较。
var maths = document.getElementById('nMaths');
var language = document.getElementById('nLanguage');
var history = document.getElementById('nHistory');
var numNotes = [maths.value,language.value,history.value];
var aux;
var biggest;
for(var i = 0; i < 3; i++){
if (numNotes[i] < numNotes[i+1]){
aux = numNotes[i];
numNotes[i] = numNotes[i+1];
numNotes[i+1] = aux;
}
}
for(var i = 0; i < 3; i++){
if (numNotes[i] < numNotes[i+1]){
aux = numNotas[i];
numNotes[i] = numNotes[i+1];
numNotes[i+1] = aux;
}
}
alert(numNotes[0]);
alert(numNotes[1]);
alert(numNotes[2]);
biggest = "The biggest note is " + numNotes[0];
alert(biggest);
【问题讨论】:
-
您需要将
values解析为使用parseInt。默认情况下,从domelements获得的values是string类型。 -
我需要在哪里解析值?我尝试在这里解析它们: var numNotes = [parseInt(maths),parseInt(language),parseInt(history)];但是当我尝试查看这个变量的值是什么时,它说[object HTMLInputElement],我应该在哪里解析变量?谢谢你的回答。
-
您需要解析这些值。例如:
parseInt(maths.value) -
就是这样!非常感谢!!!
标签: javascript html arrays comparison cycle