【问题标题】:Javascript prompt only reading first digit of an input numberJavascript提示只读取输入数字的第一位
【发布时间】:2020-03-16 01:33:50
【问题描述】:

我正在做一个快速的小练习,我试图让用户输入 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】:

您正在向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

【讨论】:

    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多