请问return a-b为什么是降序呢,什么原理啊,看不大懂。。
首先,我们要知道自定义函数的规则:
该自定义函数函数sortMethod要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
然后,来定义我们自己的函数:
1)按从小到大排(升序):
function sortNum(a,b){
return a-b;
}
举例:若a=1,b=3,则return的值为 -2<-1,那么a应该排在b之前,即1排在3之前,为从小到大排。
2)按从大到小排(降序):
function sortNum2(a,b){
return b-a;
}
举例:若a=1,b=3,则return的值为 2>1,那么a应该排在b之后,即1排在3之后,为从大到小排。
看了些资料,初浅的理解可以这样:
sort()函数,要实现特定排序的话,函数要求提供一个(比较函数做为)参数,该(函数)参数 要有两个比较值,而且需要返回值,用于说明这两个值的相对顺序的数字。这个比较函数的两个参数可以是 a 和 b,或者 x和y ,是象征意义,至于sort()函数拿到这个参数(比较函数)怎么内部处理,是系统内部的事,我们暂且不用关心,知道这么用就可以了
听大神说,这叫“值交换” 具体 也不太理解,先学着用吧
额,看到楼下的回答,知道了,,,冒泡排序