JavaScript提示仅读取输入数字的第一位数字

问题描述 投票:0回答:1

我正在做一个快速的小练习,我试图允许用户输入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]);
}
javascript arrays digits
1个回答
1
投票

您正在将字符串插入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

© www.soinside.com 2019 - 2024. All rights reserved.