为了账号安全,请及时绑定邮箱和手机立即绑定

sortNum()方法到底什么意思

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

正在回答

3 回答

http://img1.sycdn.imooc.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打断点看一下执行顺序就明白了。

2 回复 有任何疑惑可以回复我~
#1

yy一只小仙女 提问者

蟹蟹啦,感恩
2017-12-13 回复 有任何疑惑可以回复我~
#2

慕尼黑7016646

那如果数列里有1.5的话,-1<(1.5-1)<1,应该和1的排序相同才对呀,可实际上顺序却不会错,这是为什么呢
2018-01-02 回复 有任何疑惑可以回复我~
#3

weibo_猪也有上进心_0 回复 慕尼黑7016646

我也想知道 有没有人解答一下
2018-04-18 回复 有任何疑惑可以回复我~
#4

火星灰 回复 慕尼黑7016646

他说错了 调用sortNum(),把myarr里的数赋值给a,b然后互相比较, 若返回值<0,则表示 A 在排序后的序列中出现在 B 之前。 若返回值=0,则表示 A 和 B 具有相同的排序顺序。 若返回值>0,则表示 A 在排序后的序列中出现在 B 之后。
2018-04-21 回复 有任何疑惑可以回复我~
查看1条回复

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

0 回复 有任何疑惑可以回复我~
#1

慕妹650865

因为sortNum是函数
2018-08-26 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468190    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

sortNum()方法到底什么意思

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信