为什么答案是降序排列

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

4回答
xiaorenwu029 2018-01-16 10:40:23
当x==y时,返回值是0,x、y不需要交换位置
当x>y时,返回值是-1,x、y不需要交换位置
当x<y时,返回值是1,x放到y后面
所以这里传的参数是function(x,y){return x<y;}
返回的数组应该降序排列。


杰克不接客 2018-01-11 17:03:51

排序规则:

如果sort内,不给任任何参数,则数组内的元素按照Unicode 值来排序,这样如果存在数字 80和9,则80再前,9在后面。

如果sort内,提供一个排序函数compareFunction(a, b):

如果函数的返回值小于0,则a在前面b在后面;

如果函数的返回值等于0,在a和b的位置不动;

如果函数的返回值大于0,则b在前面a在后面;

提问者 慕神1662884 2017-11-07 18:12:40

19<1的返回值是false,那这个怎么判断啊

  • 这里你定义了x<y降序排列,因此,数组中的数两两对比,19<1,排序位置不便。然后1和24比较,1<24,则sort()方法执行排序换位置,将1与24位置互换,以此类推,sort()方法会把最大的数放在最前面,希望可以帮到你~
    2017-11-07 18:49:50
  • 提问者 慕神1662884 回复 卡布琦诺 #2
    意思就是说一直到不能互换为止然后输出这个数组是这样吗
    2017-11-07 19:12:49
  • 卡布琦诺 回复 提问者 慕神1662884 #3
    是的哦,祝学习愉快~
    2017-11-07 21:19:13
卡布琦诺 2017-11-07 11:31:38

sort()方法使数组中的元素按输入代码照一定的顺序排列。

语法:

arrayObject.sort(方法函数)

参数说明:

1.如果不指定<方法函数>,则按unicode码顺序排列。

2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。

myArray.sort(sortMethod);

注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: 

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

1.使用sort()将数组进行排序,代码如下:

<script type="text/javascript">

  var myarr1 = new Array("Hello","John","love","JavaScript"); 

  var myarr2 = new Array("80","16","50","6","100","1");

  document.write(myarr1.sort()+"<br>");

  document.write(myarr2.sort());

</script>

运行结果:

 Hello,JavaScript,John,love

1,100,16,50,6,80

 注意:上面的代码没有按照数值的大小对数字进行排序。

2.如要实现这一点,就必须使用一个排序函数,代码如下:

  <script type="text/javascript">

  function sortNum(a,b) {

  return a - b;

 //升序,如降序,把“a - b”该成“b - a”

}

 var myarr = new Array("80","16","50","6","100","1");

  document.write(myarr + "<br>");

  document.write(myarr.sort(sortNum));

</script>

运行结果:   

80,16,50,6,100,1

1,6,16,50,80,100

建议你参考这个理解一下,希望对你有帮助,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师