思路:
- 依次对数组中
相邻的两项
进行大小比较
;- 如果
前一项
比后一项
大
, 则调换
这两项的位置
;(假设要求是进行升序排序【实际要求如果是降序排序, 比较两项谁更小即可】)- 如此则会得到数组中
最大的值
并通过调换位置
被放到了数组的最后
;- 再进行
循环
, 找到数组中第二大
的值, 以此类推, 直至循环结束;
代码如下:
// 需要进行排序的数组
var arr = [23, 45, 18, 37, 92, 13, 24]
// 依次循环数组
for (let i = 0; i < arr.length; i++) {
// 循环比较出数组中最大的值
for (let j = 0; j < arr.length; j++) {
// 比较数组中相邻的两项
if (arr[j] > arr[j + 1]) {
// 通过中间变量调换两项数据
let x = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = x
}
}
}
console.log(arr) // [13, 18, 23, 24, 37, 45, 92]