排序API

排序API:
arr.sort(): 默认将所有元素转为字符串再排列。
问题: 只能排列字符串类型的元素
解决: 使用自定义比较器函数
比较器函数: 专门比较任意两个数大小的函数
要求: 两个参数: a,b
返回值: a>b,就返回一个正数
a<b, 就返回一个负数
否则就返回0


比如:专门比较两个数字的比较器:
function compare(a,b){return a-b;}


何时使用: 只要sort默认的排序规则不是想要的
就要自定义比较器函数,代替默认规则
如何使用: 将比较器函数作为参数传入sort方法中


arr.sort(compare);


强调: 传入sort方法内的比较器函数属于回调函数
回调函数: 将一个函数作为参数传入另一个函数中被反复调用
传入回调函数时,不要加()!

降序:

(1)reverse颠倒顺序:先用sort()后用reverse()

(2) 颠倒比较器函数的正负号
 function compare(a,b){return b-a;}

posted @ 2016-11-30 14:18  木子青青  阅读(398)  评论(0编辑  收藏  举报