sort()方法是根据字符串Unicode码点来排序的,返回值为排序后的数组
注意:sort()方法是按位排序的,对数字排序时不稳定,容易出现 1,111,21;所以要传入一个回调函数
/*回调函数背后的原理:
当返回值大于0时,a放在b的后面;ab换
当返回值小于0时,a放在b的前面;ab不换
当返回值等于0时,ab位置不改变;ab不换
**/
//第一种详细写法(升序)
var arr = [1, 5, 4, 2, 3, 0];
arr.sort((a, b) => {
if (a > b) return 1;
else if (a < b) return -1;
else return 0;
});
//第二种
var arr = [1, 5, 4, 2, 3, 0]
arr.sort((a, b) => {return a - b}) // 升序排序
arr.sort((a, b) => {return b - a}) // 降序排序
//也可以简写成
arr.sort((a, b) => a - b;
arr.sort((a, b) => b - a;
标签:sort,arr,ab,return,背后,返回值,原理,排序
From: https://www.cnblogs.com/jichuan/p/16731245.html