【javascript】数字排序

排序函数

javascript有一个叫sort的排序函数,但该函数是按照Unicode编码默认升序排列的,对于数字的排序可能会出现错误的结果。比如数字11虽然比5大,但是按照升序排序,11却会排到5的前面。

回调函数

解决办法就是自定义sort的回调函数:

  • 升序回调函数:
function (a, b) { return a - b }
  • 降序回调函数
function (a, b) { return b - a }

实例演示

  • 数字升序排列
var arr = [11, 2, 5, 3]
arr.sort(function (a, b) { return a - b })
console.log(arr)
//out: [2, 3, 5, 11]
  • 数字降序排列
var arr = [11, 2, 5, 3]
arr.sort(function (a, b) { return b-a })
console.log(arr)
//out: [11, 5, 3, 2]

引用参考

https://www.bilibili.com/video/BV1YW411T7GX?p=79
posted @ 2020-10-23 23:27  XavierJ  阅读(195)  评论(0编辑  收藏  举报