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

降序函数 return b-a;

<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 回答

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

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

zr10 提问者

非常感谢!
2016-04-01 回复 有任何疑惑可以回复我~

参数说明:

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这是降序。  

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

zr10 提问者

thankyou
2016-04-01 回复 有任何疑惑可以回复我~
#2

geeker109

那如果a=12.1,b=12.2呢?怎么排序?两数差值在1以内,这个排序规则就不管用了。应该有其他方法
2016-04-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

降序函数 return b-a;

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