SOURCE

const bubbleSort = (arr) => {
  // 注意:这里要 length - 1 表示排 n - 1次 (因为n个元素的数组,只要把n-1个元素排对了,剩下一个自然就对了)
  for (let i = 0; i < arr.length - 1; i++) {
    // 注意:这里的 length - 1 - i 是因为已经排好序的前i大的元素不需要再比较了
    for (let j = 0; j < arr.length - 1 - i; j++) {
      if (arr[j] > arr[j + 1]) {
        // 这里进行交换
        [arr[j + 1], arr[j]] = [arr[j], arr[j + 1]];
      }
    }
  }
  return arr;
}

console.log('bubbleSort([2, 9, 6, 7, 4, 3, 1, 8])', bubbleSort([2, 9, 6, 7, 4, 3, 1, 8]));
console 命令行工具 X clear

                    
>
console