利用sort()进行数组排序
在JS中如果我们直接使用sort()
进行排序,那么内部是按照字典顺序进行排序的,比如排序结果10会比2小,而实际上10比2大。
// 例如:
let arr = [10,23,5,7,3,2,4,1];
arr.sort();
console.log(arr); // 此时会输出[1, 10, 2, 23, 3, 4, 5, 7]
那么,如何利用sort
函数进行正确的排序呢?
其实很简单,我们只需要在sort()传递一个参数(a,b)=>a-b
即可。
代码如下:
// 从小到大排序
let arr = [10,23,5,7,3,2,4,1];
arr.sort((a,b)=>a-b);
console.log(arr); // 此时会输出[1, 2, 3, 4, 5, 7, 10, 23]
// 从大到小排序
let arr = [10,23,5,7,3,2,4,1];
arr.sort((a,b)=>b-a);
console.log(arr); // 此时会输出[23, 10, 7, 5, 4, 3, 2, 1]
❥❥❥ 如果对你有帮助的话请点个赞吧 ❥❥❥