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

数组的sort()方法中那个比较函数是怎么工作的

数组的sort()方法中那个比较函数是怎么工作的

comlejade 2015-12-03 16:09:26
function compare (value1,value2) { if (value1<value2) { return 1; }else if (value1>value2) { return -1; }else { return 0; } }网上有的说是比较两个值,如果返回的是正数则两个数需要交换,反之则不需要交换,对于这个不太理解,希望帮忙解答一下谢谢
查看完整描述

4 回答

?
慕虎6184693

TA贡献1条经验 获得超0个赞

题主弄明白了嘛?我也很疑惑

查看完整回答
反对 回复 2019-08-07
?
一毛钱

TA贡献156条经验 获得超57个赞

这个其实就是站队的时候按照大小个排序

返回正表示的是后面的数大于前面的,所以要交换,这个说白了就是由大到小排序

查看完整回答
反对 回复 2015-12-03
  • comlejade
    comlejade
    这个我是知道的,那这个sort是把这个返回值怎么了就排出序来了,总感觉往后卡住了,想不通了
?
吴呜呜

TA贡献1条经验 获得超0个赞

额,没有明白说什么。。。

查看完整回答
反对 回复 2015-12-03
  • comlejade
    comlejade
    好吧,你比如说有一个数组var arr= [1,3,8,6,7];进行排序,那个书上是这么写的arr.sort(compare),sort()接收那个函数的返回值,然后去比较,那么sort()的到这个值后是如何工作的,就把数组的顺序排出来了
  • 吴呜呜
    吴呜呜
    额,我是个码畜,等楼下解释,我也要学习下。
  • 4 回答
  • 0 关注
  • 1851 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信