永发信息网

那比较函数改成返回值是b-a为啥是降序排序了呢?

答案:1  悬赏:10  手机版
解决时间 2021-01-17 17:12
  • 提问者网友:兔牙战士
  • 2021-01-17 00:05
那比较函数改成返回值是b-a为啥是降序排序了呢?
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-01-17 01:31
定义和用法
sort() 方法用于对数组的元素进行排序。
语法
arrayObject.sort(sortby)返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有参数,将按字母顺序对数组中的元素进行排序,即按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
例如:
按照数值的大小对数字进行排序,要实现这一点,就必须使用一个排序函数
function sortNumber(a, b) {
    return a - b;
}
var arr = [10,4,5,20,3,2,1001,24];
document.write(arr + "");  //10,4,5,20,3,2,1001,24
document.write(arr.sort(sortNumber)); //2,3,4,5,10,20,24,1001如果从大到小降序排序,则需要:
function sortNumber(a, b) {
    return b - a;
}
var arr = [10,4,5,20,3,2,1001,24];
document.write(arr + "");  //10,4,5,20,3,2,1001,24
document.write(arr.sort(sortNumber)); //1001,24,20,10,5,4,3,2追问我现在就是不明白第二个函数,为啥return b-a就是从大到小排序来自:求助得到的回答
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯