1.冒泡排序(原理)
const numArr = [12, 45, 99, 34, 12, 90, 28, 71]
function sortFn(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
if (arr[j] > arr[j + 1]) {
//声明临时变量,交换两个变量的位置
let c = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = c
}
}
}
return arr.toString()
}
console.log(sortFn(numArr))//12,12,28,34,45,71,90,99
2.Array.sort() 排序方法
//◆从小到大排序
let arr1 = [70, 30, 60, 10]
arr1.sort(function (a, b) {
return a - b
})
console.log(arr1)//[ 10, 30, 60, 70 ]
//◆从大到小排序
let arr2 = [80, 100, 90, 10]
arr2.sort(function (a, b) {
return b - a
})
console.log(arr2)//[ 100, 90, 80, 10 ]
3.随机数排序
要求:随机生成10-100之间的10个数,存入新数组,并进行排序。
// ◆声明空数组,准备放入随机数
let arr = []
// ◆封装获取10个随机数的函数
function randomNum(min, max) {
let res = Math.floor(Math.random() * (max - min + 1) + min)
return res
}
// ◆遍历10个随机数,并放到新的数组里
for (let i = 0; i < 10; i++) {
arr.push(randomNum(10, 100))
}
// ◆最后用 sort 方法进行排序
arr.sort(function (a, b) {
return a - b
// return b - a
})
// ◆打印排好序的数组
console.log(arr)