降序函数 return b-a;

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

zr10

2016-03-28 17:20

<script type="text/javascript">

   function sortNum(a,b) {

     return b-a;

   }

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

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

</script>

   q其中 return b-a;   怎么理解???????搞不懂

写回答 关注

2回答

  • 势不可挡的
    2016-03-28 17:54:58
    已采纳

    abcdefg?从a到b就是升,从b到a就是降。别把哪个当作减号。先这样子记吧,哈哈哈

    zr10

    非常感谢!

    2016-04-01 11:33:15

    共 1 条回复 >

  • 衔一枝瑰晴
    2016-03-28 18:24:16

    参数说明:

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

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

    myArray.sort(sortMethod);

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

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

    ---------------------------------------------------------------------------------------------------------------------

    "80","16","50","6","100","1"

    这几个数。

    return a - b;    80-16 >= 1;    根据上面返回值规则,A在B之后,所以,80要在16后面,16,80这是升序。

    return b - a;    16-80 <= -1;    根据上面返回值规则,A在B之前,所以,80要在16前面,80,16这是降序。  

    geeker...

    那如果a=12.1,b=12.2呢?怎么排序?两数差值在1以内,这个排序规则就不管用了。应该有其他方法

    2016-04-17 11:01:03

    共 2 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题