总结
1、外层for循环控制循环次数
2、内层for循环进行比较相邻的元素。如果第一个比第二个大,就交换他们两个。
3,针对所有的元素重复以上的步骤,除了最后一个。
4,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
//代码实现
```javascript
//es5写法
function fun(arr){
let temp =null
let len = arr.length
for (let i=0;i<len;i++){
for (let j=0;j<len-i;j++){
if (arr[j]>arr[j+1]){
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
return arr
}
//es6箭头函数写法
let b = arr => {
let len = arr.length
for (let i=0;i<len;i++){
for (let j=0;j<len-i;j++){
if (arr[j] > arr[j+1]){
//使用了es6语法的新特性 ---> 解构赋值
[arr[j],arr[j+1]] = [arr[j+1],arr[j]]
}
}
}
return arr
}
let list = [8,9,14,3,7,1]
console.log(b(list))