sort()背后的原理

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;

posted @ 2022-09-26 15:55  小胡冲鸭鸭  阅读(134)  评论(0)    收藏  举报