課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
請問return ?a-b為什么是降序呢,什么原理啊,看不大懂。。
2015-04-04
源自:JavaScript進(jìn)階篇 7-22
正在回答
首先,我們要知道自定義函數(shù)的規(guī)則:
該自定義函數(shù)函數(shù)sortMethod要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:?
? ? ? ? ? ? ? ? ? ?若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? ? ? ? ? ? ? ? ? ?若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? ? ? ? ? ? ? ? ?? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
然后,來定義我們自己的函數(shù):
1)按從小到大排(升序):
? ? ? ? ? ? ? ?? ? ?function sortNum(a,b){
? ? ? ? ? ? ? ? ? ??? ? ?return a-b;
? ? ? ? ? ? ?? ?????}?
舉例:若a=1,b=3,則return的值為 -2<-1,那么a應(yīng)該排在b之前,即1排在3之前,為從小到大排。
2)按從大到小排(降序):
? ? ? ? ? ? ? ?? ? ?function sortNum2(a,b){
? ? ? ? ? ? ? ? ? ??? ? ?return b-a;
舉例:若a=1,b=3,則return的值為 2>1,那么a應(yīng)該排在b之后,即1排在3之后,為從大到小排。
看了些資料,初淺的理解可以這樣:
sort()函數(shù),要實(shí)現(xiàn)特定排序的話,函數(shù)要求提供一個(比較函數(shù)做為)參數(shù),該(函數(shù))參數(shù) 要有兩個比較值,而且需要返回值,用于說明這兩個值的相對順序的數(shù)字。這個比較函數(shù)的兩個參數(shù)可以是 a 和 b,或者 x和y ,是象征意義,至于sort()函數(shù)拿到這個參數(shù)(比較函數(shù))怎么內(nèi)部處理,是系統(tǒng)內(nèi)部的事,我們暫且不用關(guān)心,知道這么用就可以了
聽大神說,這叫“值交換” 具體 也不太理解,先學(xué)著用吧
額,看到樓下的回答,知道了,,,冒泡排序
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動態(tài)交互世界
4 回答為什么return a-b就是升序,b-a就是降序??
2 回答降序函數(shù) return b-a;
5 回答為什么return a-b可以決定升降序?
3 回答return b-a為什么是升序
2 回答為什么a-b>0是升序,b-a>0就是降序了?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-06-10
首先,我們要知道自定義函數(shù)的規(guī)則:
該自定義函數(shù)函數(shù)sortMethod要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:?
? ? ? ? ? ? ? ? ? ?若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? ? ? ? ? ? ? ? ? ?若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? ? ? ? ? ? ? ? ?? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
然后,來定義我們自己的函數(shù):
1)按從小到大排(升序):
? ? ? ? ? ? ? ?? ? ?function sortNum(a,b){
? ? ? ? ? ? ? ? ? ??? ? ?return a-b;
? ? ? ? ? ? ?? ?????}?
舉例:若a=1,b=3,則return的值為 -2<-1,那么a應(yīng)該排在b之前,即1排在3之前,為從小到大排。
2)按從大到小排(降序):
? ? ? ? ? ? ? ?? ? ?function sortNum2(a,b){
? ? ? ? ? ? ? ? ? ??? ? ?return b-a;
? ? ? ? ? ? ?? ?????}?
舉例:若a=1,b=3,則return的值為 2>1,那么a應(yīng)該排在b之后,即1排在3之后,為從大到小排。
2015-05-04
看了些資料,初淺的理解可以這樣:
sort()函數(shù),要實(shí)現(xiàn)特定排序的話,函數(shù)要求提供一個(比較函數(shù)做為)參數(shù),該(函數(shù))參數(shù) 要有兩個比較值,而且需要返回值,用于說明這兩個值的相對順序的數(shù)字。這個比較函數(shù)的兩個參數(shù)可以是 a 和 b,或者 x和y ,是象征意義,至于sort()函數(shù)拿到這個參數(shù)(比較函數(shù))怎么內(nèi)部處理,是系統(tǒng)內(nèi)部的事,我們暫且不用關(guān)心,知道這么用就可以了
2015-05-04
聽大神說,這叫“值交換” 具體 也不太理解,先學(xué)著用吧
2015-04-04
額,看到樓下的回答,知道了,,,冒泡排序