課程
/前端開發(fā)
/JavaScript
/JavaScript進階篇
function(a,b){ ????return?a-b; }
為什么返回 a-b就是升序, 返回b-a就是降序,原理是什么
2018-12-24
源自:JavaScript進階篇 7-22
正在回答
相當于數(shù)組下標a和數(shù)組下標b進行比較,若a-b大于零,即為真(true)即下標互換位置,若小于零即為假(flase),及不變,可以吧a-b和b-a看作為a>b和b>a,真即運行,假即跳過.
ggangelo
?不用知道會用就行了,細枝末節(jié)的東西全學會就是浪費精力,工作后也是靠偷和改。主要是能看懂和會用。
我覺得指的是ASCII碼,a97,b98,a-b是按ASCII碼升序
?該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應該具有兩個參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
sortNum函數(shù) 計算的就是數(shù)組里面的元素,如果是return b-a?? 就是用數(shù)組后面的數(shù)-減去前面數(shù),獲得一個數(shù)字
可以是 -9999 也可以是 9999? 隨便一個數(shù)?? 但是 retrun 出來的 結果 傳入 myarr.sort()這個 方法后他會判斷是否大于1?? 如果大于1 那說明 后面的數(shù)大于前面的數(shù)字? 也就是b大于a 那么就會把b和a 交換? 他應該是從最左邊開始比較 如果大就交換? 把最小的數(shù)字放在最后? 如此多次重復 把數(shù)組的數(shù)字 排序好(也就是冒泡排序?? 當然也可能是其他的交換排序? 比如簡單交換排序)? 總的來說?? myarr.sort() 以及把功能實現(xiàn)給我們了? 我們只要調(diào)用就行了
我覺得a,b傳遞的應該是數(shù)組中前后相鄰的兩個元素,其排序原理類似于c語言中的冒泡法,a-b升序即一個有n個元素的數(shù)組中兩個相鄰元素元素比較大小大的數(shù)排序,從而使最大的那個數(shù)排到最后,然后在對數(shù)組前n-1各元素做相同處理,以此類推從而達到升序排列,b-a降序道理也是一樣
可以看一下sort方法的實現(xiàn)代碼
同問 有知道原理的嗎
看前邊的視頻
qq_慕容925192
PaulPierce
舉報
本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界
2 回答不明白升序和降序的函數(shù)代碼
1 回答升序,降序問題
3 回答解釋一下函數(shù)功能的構成?為什么升序和降序
2 回答降序函數(shù) return b-a;
3 回答沒弄清楚升序降序的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2019-01-01
相當于數(shù)組下標a和數(shù)組下標b進行比較,若a-b大于零,即為真(true)即下標互換位置,若小于零即為假(flase),及不變,可以吧a-b和b-a看作為a>b和b>a,真即運行,假即跳過.
2019-08-06
?不用知道會用就行了,細枝末節(jié)的東西全學會就是浪費精力,工作后也是靠偷和改。主要是能看懂和會用。
2019-04-02
我覺得指的是ASCII碼,a97,b98,a-b是按ASCII碼升序
2019-04-02
?該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應該具有兩個參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
sortNum函數(shù) 計算的就是數(shù)組里面的元素,如果是return b-a?? 就是用數(shù)組后面的數(shù)-減去前面數(shù),獲得一個數(shù)字
可以是 -9999 也可以是 9999? 隨便一個數(shù)?? 但是 retrun 出來的 結果 傳入 myarr.sort()這個 方法后他會判斷是否大于1?? 如果大于1 那說明 后面的數(shù)大于前面的數(shù)字? 也就是b大于a 那么就會把b和a 交換? 他應該是從最左邊開始比較 如果大就交換? 把最小的數(shù)字放在最后? 如此多次重復 把數(shù)組的數(shù)字 排序好(也就是冒泡排序?? 當然也可能是其他的交換排序? 比如簡單交換排序)? 總的來說?? myarr.sort() 以及把功能實現(xiàn)給我們了? 我們只要調(diào)用就行了
2019-03-09
我覺得a,b傳遞的應該是數(shù)組中前后相鄰的兩個元素,其排序原理類似于c語言中的冒泡法,a-b升序即一個有n個元素的數(shù)組中兩個相鄰元素元素比較大小大的數(shù)排序,從而使最大的那個數(shù)排到最后,然后在對數(shù)組前n-1各元素做相同處理,以此類推從而達到升序排列,b-a降序道理也是一樣
2019-01-19
可以看一下sort方法的實現(xiàn)代碼
2018-12-31
同問 有知道原理的嗎
2018-12-24
看前邊的視頻