为什么a-b>0是升序,b-a>0就是降序了?

来源:7-22 数组排序sort()

卡兰尼克

2016-11-21 23:33

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(a,b) {

    return a-b>0

   }

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

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

</script>

</head>

<body>

</body>

</html>


写回答 关注

2回答

  • 慕少1893982
    2016-11-22 10:12:03
    已采纳

    因为sort()函数使用的是冒泡排序,冒泡排序会重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,一直重复地进行直到说该数列已经排序完成。
    如果a-b>0(即正数)就把a和b的位置交换,也就是较小的一个数会排到前面;
    如果b-a>0就把a和b的位置交换,也就是较大的一个数会排到前面。


    感觉这个知道就好,个人理解就是按照字母表顺序 a为1,b为2。 从小到大排序,反之则从大到小。



    复制来的  希望对你有帮助

    卡兰尼克

    非常感谢!

    2016-11-22 10:35:00

    共 1 条回复 >

  • 我不是管家
    2016-11-22 09:54:17

    引用评论用户'LuciferCLC":sort()函数使用的是冒泡排序,冒泡排序会重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,一直重复地进行直到说该数列已经排序完成。
    如果a-b>0(即正数)就把a和b的位置交换,也就是较小的一个数会排到前面;
    如果b-a>0就把a和b的位置交换,也就是较大的一个数会排到前面。

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题