第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

關(guān)于a-b和b-a有關(guān)的排序問題

function sortNum(a,b) {

? ? ? ? return b-a;

? ?}

var myarr = new Array("80","16","50","6","100","1");

document.write(myarr.sort(sortNum));

這里函數(shù)sortNum()里面執(zhí)行的return b-a;意思返回b-a的值。我的理解是調(diào)用的時候不應(yīng)該返回的是差值嗎?比如數(shù)組var myarr = new Array("80","16","50","6","100","1");調(diào)用返回的應(yīng)該是前后兩數(shù)的差值啊,怎么就變成了排序而不是差值呢?一直理解不了,求大神們賜教

正在回答

4 回答

在函數(shù)里面加了一段 ? document.write("(a-b)="+(a-b)+"</br>");終于看明白了
(a-b)=64----第一次調(diào)用函數(shù):a是80,b是16,結(jié)果為64>0,因此交換位置:16,80,50,6,100,1
(a-b)=30----第二次調(diào)用函數(shù):a是80,b是50,結(jié)果為30>0,因此交換位置:16,50,80,6,100,1
(a-b)=-34----第三次調(diào)用函數(shù):a是16,b是50,結(jié)果為-34<0,因此不交換位置:16,50,80,6,100,1
(a-b)=74----第四次調(diào)用函數(shù):a是80,b是6,結(jié)果為74>0,因此交換位置:16,50,6,80,100,1
(a-b)=44----第五次調(diào)用函數(shù):a是50,b是6,結(jié)果為44>0,因此交換位置:16,6,50,80,100,1
(a-b)=10----第六次調(diào)用函數(shù):a是16,b是6,結(jié)果為10>0,因此交換位置:6,16,50,80,100,1
(a-b)=-20----第七次調(diào)用函數(shù):a是80,b是100,結(jié)果為-20<0,因此不交換位置:6,16,50,80,100,1
(a-b)=99----第八次調(diào)用函數(shù):a是100,b是1,結(jié)果為99>0,因此交換位置:6,16,50,80,1,100
(a-b)=79----第九次調(diào)用函數(shù):a是80,b是1,結(jié)果為79>0,因此交換位置:6,16,50,1,80,100
(a-b)=49----第十次調(diào)用函數(shù):a是50,b是1,結(jié)果為49>0,因此交換位置:6,16,1,50,80,100
(a-b)=15----第十一次調(diào)用函數(shù):a是16,b是1,結(jié)果為15>0,因此交換位置:6,1,16,50,80,100
(a-b)=5----第十二次調(diào)用函數(shù):a是6,b是1,結(jié)果為5>0,因此交換位置:1,6,16,50,80,100
1,6,16,50,80,100
應(yīng)該是一種優(yōu)化版的冒泡排序法

3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕慕1807936

thanks
2017-08-16 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕后端6566198

為什么a,b的值的順序看起來很亂,并不是相鄰之間平移,沒看懂,能解釋一下嗎?謝謝
2017-12-21 回復(fù) 有任何疑惑可以回復(fù)我~
#3

ESKY3687376 回復(fù) 慕后端6566198

對不是相鄰的,是一種優(yōu)化過的冒泡排序。這已經(jīng)是算法問題了。
2017-12-23 回復(fù) 有任何疑惑可以回復(fù)我~
#4

ESKY3687376 回復(fù) 慕后端6566198

給你個網(wǎng)址http://blog.csdn.net/cbs612537/article/details/8513723 其實這已經(jīng)是涉及到算法了
2017-12-23 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

.如果指定<方法函數(shù)>,則按<方法函數(shù)>所指定的排序方法排序。myArray.sort(sortMethod);

注意:?該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:?

? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。


0 回復(fù) 有任何疑惑可以回復(fù)我~

你可以舉個例子,比如10和11,return ?10-11.結(jié)果是-1,說明是升序

0 回復(fù) 有任何疑惑可以回復(fù)我~

你定義的函數(shù)需要傳兩個參數(shù),myarr.sort(sortNum)這個著實是看不懂,如果你想求數(shù)組倆數(shù)的差值就傳進去兩個參數(shù),例如sortNum(myarr[0],myarr[1]),myarr.sort,是系統(tǒng)自帶的排序

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學(xué)習(xí)       468768    人
  • 解答問題       22442    個

本課程從如何插入JS代碼開始,帶您進入網(wǎng)頁動態(tài)交互世界

進入課程

關(guān)于a-b和b-a有關(guān)的排序問題

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號