我正在尝试编写一个使用冒泡排序方法来获取数组并按值对其排序的脚本。
它可以用一位数字很好地工作,但是一旦我输入了任何非一位数字的输入,它就无法工作。

<!DOCTYPE html>
<html>
<body>

<p> Click the button to enter and display an array of numbers! </p>
<button onclick="sortFunction()">Click Me</button>

<script>
function sortFunction()
{
var totalNums = prompt("How many numbers would you like to enter?","");
var numsArray = [];

  for(i=0; i<totalNums; ++i)
  {
      if(nums != "x")
      {
        var nums = prompt("Please enter number " ,"");
        numsArray[i] = nums;
        document.getElementById("unsorted").innerHTML = "Orignal Numbers: " + numsArray;

      }
  }

var length = numsArray.length;
var swapped;

  do
  {
  swapped = false;
      for (var j=0; j < length-1; j++)
      {
          if (numsArray[j] > numsArray[j+1])
          {
          var temp = numsArray[j];
          numsArray[j] = numsArray[j+1];
          numsArray[j+1] = temp;
          swapped = true;

          }
      }
      document.getElementById("sorted").innerHTML = numsArray;
  } while (swapped);
}
</script>
<div id ="unsorted">Unsorted</div>
<div id ="sorted">Sorted</div>
</body>
</html>


PS-出于好奇...在排序时,如何使它在外循环的每次迭代中显示数组?因此,它将显示运行代码。

谢谢!

最佳答案

在放入数组之前解析整数:

09-19 22:30