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]));