sort默认是按第一个数字比较,相同再按第二个数组比较,加入遇到这样的数组arr = [1,6,8,2,3,4,11];
我们先看一下直接sort的结果:
这也是11排在1后面的原因,个位数的排序还可以直接sort()排序,十位以上再直接sort就不是按从小到大拍的了!那怎么办呢?
sort()方法可以接受一个函数参数来实现数字的大小比较
该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字,比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
- 若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
- 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
所以从小到大排序为: