菜狗子的自我救赎02
02 数组排序
let arr = [
{ id: 1, name: '周瑜' },
{ id: 3, name: '王昭君' },
{ id: 2, name: '亚瑟' },
{ id: 1, name: '小乔' },
{ id: 2, name: '大桥' },
{ id: 3, name: '韩信' }
];
1.sort 排序
function sort1(arr, key) {
let result = []
result = arr.sort((a, b) => {
return a - b
})
return result
}
2. 冒泡排序
function sort2 (arr){
for(let i =0 ; i < arr.length; i++){ //这里再看下+= ++x x++ 的区别
for(let j = 0; j < arr.length -1; j++){
// console.log(arr.length) arr 长度是16
// console.log(i) i 最大是15
// console.log(j) j 最大是14
if(arr[j] > arr[j + 1]){
let temp = arr[j]
arr[j] = arr[j + 1]
arr[i] = temp
}
}
}
return arr
}
2.1 简单但会染的蠢b问题
首先看把最基础简单的 += i++ ++i 和for循环
let i = 0
console.log(i ++) // output 0 ; 首先这里i++ 返回值还是0
console.log(i) // output 1 ; 这里i自增1
//go on
console.log(++ i ) // output 2 ; 这里++ i 的返回值会直接加1
console.log(i) // output 2 当然i 会自增 i++ 和++i 都是使得i自增1
// 愚蠢
x += 1 ----- > x = x + 1
3.选择排序
function sort3 (arr) {
for(let i =0 ; i < arr.length; i++){
let indexMin = i
for(let j = 0 ; j < arr.length; j++) {
if(arr[j] < arr[indexMax] ){
indexMax = j
}
}
if(indexMin !== i){
let temp = arr[i]
arr[i] = arr[indexMin]
arr[indexMin] = temp
}
}
return arr
}
// 6月10号
02休息 当日完结 03扁平化