我正在做一个快速的小练习,我试图允许用户输入5个随机数,并让我的脚本按升序排列,但是它仅适用于一位数字。例如,当用户输入27时,程序会对其进行排序,就好像它只是2。我不确定是什么原因导致这种情况的发生,并且我愿意接受任何建议。 (此外,代码也不太简洁,但请忽略)
let array = [];
let scrapArray = [];
array[0] = prompt("Please input a random number");
array[1] = prompt("Please input another random number");
array[2] = prompt("Please input another random number");
array[3] = prompt("Please input another random number");
array[4] = prompt("Please input another random number");
for (let i = 0; i < 5; i++) {
for (let j = (i + 1); j < 5; j++) {
if (array[i] >= array[j]) {
scrapArray[i] = array[i];
array[i] = array[j];
array[j] = scrapArray[i]
}
}
}
console.log("the order of numbers from lowest to highest is: ");
for (let m = 0; m < array.length; m++) {
console.log(array[m]);
}
您正在将字符串插入array
,而不是数字。返回值prompt()
的类型为string
。
将输入转换为数字。
array[0]=Number(prompt("Please input a random number"));
array[1]=Number(prompt("Please input another random number"));
array[2]=Number(prompt("Please input another random number"));
array[3]=Number(prompt("Please input another random number"));
array[4]=Number(prompt("Please input another random number"));
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number