課程
/前端開發
/JavaScript
/JavaScript進階篇
function sortNum(a,b) { ?return a - b; //升序,如降序,把“a - b”該成“b - a”}
2016-08-06
源自:JavaScript進階篇 7-22
正在回答
其實,就是這么規定的,雖然很難理解,但事實就是這樣。
_旺insist 提問者
注意:?該函數要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后。
function ?sortnum(a,b){
return a-b;
}
升序:
80-16=64; ? ?//>=1 ?a位于b的后面 ?80后移
80-50=30; ? ?//>=1 ?a位于b的后面 ?80后移
80-6-74;
80-100=-20; ? //<=-1 a位于b的前面
80-1=79;
79,74,64,30,-20;
1,6,16,50,100;
/////////////
降序:
return b-a;
16-80=-64; ? ? ?//<=-1 ? a位于b的前面 ?即80位于16之前
50-80=-30; ? ? //<=-1 ? ?a位于b的前面 ?即80位于50之前
6-80=-74;
100-80=20; ? ? //>=1 ? ?a位于b的后面 ?即80位于100之后
1-80=-79;
20,-30,-64,-74,-79;
100,50,16,6,1;
稻穗陳落入夢來
可以把它理解成冒泡排序法,對于a和b,a大于b時,返回的值大于1,a排在b后面;a小于b,返回的值小于-1,a排在b前面,這是升序。改成”b-a“時,分析是一樣的,不過變成了降序
舉報
本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界
2 回答不明白升序和降序的函數代碼
8 回答升降序函數的原理
1 回答為什么函數sortNum能實現升序的功能?
1 回答升序,降序問題
4 回答為什么return a-b就是升序,b-a就是降序??
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-06
其實,就是這么規定的,雖然很難理解,但事實就是這樣。
2016-08-18
注意:?該函數要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現在 B 之后。
function ?sortnum(a,b){
return a-b;
}
升序:
80-16=64; ? ?//>=1 ?a位于b的后面 ?80后移
80-50=30; ? ?//>=1 ?a位于b的后面 ?80后移
80-6-74;
80-100=-20; ? //<=-1 a位于b的前面
80-1=79;
79,74,64,30,-20;
1,6,16,50,100;
/////////////
降序:
function ?sortnum(a,b){
return b-a;
}
16-80=-64; ? ? ?//<=-1 ? a位于b的前面 ?即80位于16之前
50-80=-30; ? ? //<=-1 ? ?a位于b的前面 ?即80位于50之前
6-80=-74;
100-80=20; ? ? //>=1 ? ?a位于b的后面 ?即80位于100之后
1-80=-79;
20,-30,-64,-74,-79;
100,50,16,6,1;
2016-08-06
可以把它理解成冒泡排序法,對于a和b,a大于b時,返回的值大于1,a排在b后面;a小于b,返回的值小于-1,a排在b前面,這是升序。改成”b-a“時,分析是一樣的,不過變成了降序