在平时进行数组排序时,常用的数组排序方法sort有时候并没有起到排序的作用,例如:
const arr = [1,5,2,16,7]
console.log(arr.sort())
打印结果为:
很明显,sort并没有起到排序的作用,原因就在于sort()中没有传参,那么默认就是按照数组每个元素的 ASCII 字符顺序进行升序排列,正确方案:
const arr = [1,5,2,16,7]
arr.sort(function (a, b) { // 对sort方法进行重写,本质是冒泡排序
return a - b // a-b是从小到大排序,b-a是从大到小排序
})