亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么函數sortNum能實現升序的功能?

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


正在回答

1 回答

參數說明:


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


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

qq_聽風看雨此生夢醒_0 提問者

非常感謝!
2016-03-31 回復 有任何疑惑可以回復我~
#2

Hey_kevin

我把80改為8 ,return a-b;8-16<=-1;根據上面返回值規則,A在B之前,所以,8要在16前面,8,16這是升序。 但實際情況是8是在16后面
2016-04-17 回復 有任何疑惑可以回復我~
#3

晨曦_0026

學過強類型語言再學JavaScript感覺很多地方都別扭,比如sortNum函數是有參數的,但是使用的時候又不見有傳參,真別扭...
2016-04-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么函數sortNum能實現升序的功能?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號