第 43 题:使用 sort() 对数组 [3, 15, 8, 29, 102, 22] 进行排序,输出结果

[102, 15, 22, 29, 3, 8]

sort 函数,可以接收一个函数,返回值是比较两个数的相对顺序的值

  1. 默认没有函数 是按照 UTF-16 排序的,对于字母数字 你可以利用 ASCII 进行记忆
 [3, 15, 8, 29, 102, 22].sort();

// [102, 15, 22, 29, 3, 8]
  1. 带函数的比较
 [3, 15, 8, 29, 102, 22].sort((a,b) => {return a - b});
  • 返回值大于0 即a-b > 0 , a 和 b 交换位置
  • 返回值大于0 即a-b < 0 , a 和 b 位置不变
  • 返回值等于0 即a-b = 0 , a 和 b 位置不变

对于函数体返回 b-a 可以类比上面的返回值进行交换位置

发布了229 篇原创文章 · 获赞 80 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/qq_34629352/article/details/104852049