问答详情
源自:7-22 数组排序sort()

排序函数如何理解

function sortNum(a,b) {
  return a - b;
 //升序,如降序,把“a - b”该成“b - a”
}

这个函数应该怎么去理解啊

为什么是返回 a-b

提问者:阿泰格 2015-07-24 05:51

个回答

  • 5i小灬ban
    2015-09-11 07:29:42
    已采纳

    sortNum作为sort的参数规定了排序规则,当sortNum返回值为1时则颠倒a,b顺序,我们举个栗子来理解(注意原序列中a,b都是有既定顺序的):

    假如原序列为1,2,3则第一次调用sort时对1,2进行排序,此时向sortNum传参:a=1,b=2(sortNum的两个参数a,b,a指当前序列中前面的数),若升序排列返回a-b,我们发现a-b小于1,说明顺序正确,不进行更改,若降序排列返回b-a,b-a值为1,说明当前顺序即1,2错误,颠倒顺序为2,1,由此实现了降序。

    希望对你有帮助

  • 寒江北去
    2015-07-24 08:27:24

    http://www.w3school.com.cn/jsref/jsref_sort.asp