const arrs = [19, 4, 7, 6, 2, 5, 8, 1];
/**** @param {*} preItem 前一个元素值* @param {*} nextItem 后一个元素值* @returns*/function compare (preItem, nextItem) {return preItem > nextItem;}/**** @param {*} arr 当前数组* @param {*} pre 前一个索引值* @param {*} next 下一个索引值*/function isChange (arr, pre, next) {const temp = arr[pre];arr[pre] = arr[next];arr[next] = temp;}/**** @param {*} arr 待排序数组*/function sort (arr) {for (let i = 0; i < arr.length; i++) {let maxIndex = 0;for (let j = 1; j < arr.length - 1 - i; j++) {if (compare(arr[j], arr[j + 1])) {maxIndex = j; // 先找到最大的index}}isChange(arr, i, maxIndex); // 交换}return arr;}console.log(sort(arrs));
