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

sortNum()方法到底什么意思

a,b和A,B分别表示什么呀,懵逼脸,而且a,b形参的话调用没有实参呀??

提问者:yy一只小仙女 2017-12-12 16:10

个回答

  • qq_君盅无细言_0
    2017-12-13 10:30:03
    已采纳

    http://img4.mukewang.com/5a308dac0001692f10490413.jpg

    调用sortNum(),把myarr里的数赋值给a,b然后互相比较,  

      若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
      若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
      若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

    这里的a,b就是A,b。

    执行顺序是这样的 先把数组里的“80”作为"a"和数组里的“16”赋给“b”做比较;结果肯定返回a-b>1啊所以

    上面说到“ A 在排序后的序列中出现在 B 之后。”,把里面每个数赋值给a,b相互都比较以后。最终结果是 myarr输出:1,6,16,50,80,100。

    明白了吗 不明白打开谷歌f12打断点看一下执行顺序就明白了。

  • 一叶红尘
    2018-07-28 13:39:53

    为什么是sort(sortNum)而不是sort(sortNum())?????

  • 匹诺曹诺匹
    2018-02-06 17:04:54

    这好像没有关系吧?a-b和b-a都是冒泡排序,你说的若返回值怎么怎么样的,那是指http://img1.mukewang.com/5a796fad0001658903790067.jpg