JavaScript 中的冒泡排序算法

BubbleSort algorithm in JavaScript

所以我正在尝试练习 JS 并决定使用冒泡排序算法。 我写了下面的代码并意识到当数组中有 3 位数字时它不起作用。 我 运行 Chrome 控制台中的代码。 谁能告诉我问题出在哪里?

var array = [];

var length = prompt("Please enter length of array: ");

for (count = 0; count < length; count++) {
  array.push(prompt("Enter a number: "));
}

for (i = 0; i < length; i++) {
  for (j = 0; j < length - i - 1; j++) {
    if (array[j] > array[j + 1]) {
      var temp = array[j];
      array[j] = array[j + 1];
      array[j + 1] = temp;
    }
  }
}

console.log("Your list of numbers is sorted!" + array);

Window.prompt function returns a string, so you should convert it to number with Number(否则 < 会按字母顺序比较它们),例如

var arr = [];
var len = parseInt(prompt("Please enter length of array: "));
for (count = 0; count < len; count++) {
  arr.push(Number(prompt("Enter a number: ")));
}
for (let i = 0; i < len; i++) {
  for (let j = 0; j < len - i - 1; j++) {
    if (arr[j] > arr[j + 1]) {
      let tmp = arr[j];
      arr[j] = arr[j + 1];
      arr[j + 1] = tmp;
    }
  }
}
console.log("Your list of numbers is sorted: " + arr);