从小到大(包裹一种数组对象方式) 三种 (运行结果在最后)
第一种 sort方法
function sortFun(arr) {
arr.sort((a, b) => {
// return a-b
return a.sort - b.sort
})
return arr
}
console.time()
// console.log("sort-方式", sortFun([13, 11, 12, 9, 10, 6, 8, 14, 7, 5, 3, 4, 1, 2]))
console.log(sortFun([{sort:5,name:"张三"},{sort:2,name:"李四"},{sort:1,name:"王五"},]))
console.timeEnd()
第二种 通过最小值删除
function minFun(arr) {
let relet = []
for (let i = 0; i < arr.length; i++) {
let min = Math.min.apply(null, arr) //获取数组当中最小值
if (min == arr[i]) { //获取最小值下标
arr.splice(i, 1) // 删除原数组最小值
relet.push(min) //添加到新数组
i = -1 //重置从0开始再次循环
}
}
return relet
}
console.time()
console.log("循环获取最小值方法-", minFun([13, 11, 12, 15, 9, 10, 6, 8, 7, 5, 3, 4, 1, 2, 14]))
// minFun([13, 11, 12, 15, 9, 10, 6, 8, 7, 5, 3, 4, 1, 2, 14])
console.timeEnd()
第三种 冒泡排序
function maoPaoFun(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (arr[i] < arr[j]) {
let tem = arr[j]
arr[j] = arr[i]
arr[i] = tem
}
tem = null
}
}
return arr
}
console.time()
console.log("冒泡排序", maoPaoFun([13, 11, 12, 15, 9, 10, 6, 8, 7, 99, 5, 3, 4, 1, 2, 14]))
// maoPaoFun([13, 11, 12, 15, 9, 10, 6, 8, 7, 99, 5, 3, 4, 1, 2, 14])
console.timeEnd() //单纯执行比上面两个方法慢了0.08ms左右(取消log和return)