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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于數(shù)組排序sort()

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

如上代碼,是基于什么原理將數(shù)組排序的呢?

正在回答

5 回答

理解:

document.write(myarr.sort(sortNum))此行的意思是myarr.sort()按照sortNum兩兩比較進(jìn)行排序。

因?yàn)?arrayObject.sort(方法函數(shù)) 按照按unicode碼順序排列,而unicode碼下 a > b ,

疑問(wèn):

?那么return a-b; 結(jié)果為真還是為假,??函數(shù)?sortNum?返回值是a還是b?


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

因?yàn)楸旧韆>b。不信你把a(bǔ),b換成e,f或者m,o,會(huì)是一樣的

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

可以這樣來(lái)理解,不一定科學(xué)正常,但是有助于理解。

JS自動(dòng)排序,結(jié)果一下子就出來(lái)了,為了方便理解,我們可以把這個(gè)JS運(yùn)算過(guò)程放慢一些,過(guò)程分解成很多小的步驟。

就以此問(wèn)題中的數(shù)字排序?yàn)槔?/p>

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

要將這代碼中的數(shù)字排序,就要用到排序函數(shù),而排序函數(shù)只對(duì)2個(gè)字進(jìn)行比較。為了達(dá)成排序目的,程序就自動(dòng)地把數(shù)組里的所有2個(gè)字都進(jìn)行了【a-b】的操作。

  1. 首先,把第1位數(shù)“80”當(dāng)作a,把其它數(shù)字當(dāng)作b,此時(shí),要完成的操作有80-16,80-5,80-6,80-100,80-1。經(jīng)過(guò)這一輪排序后,初步排序結(jié)果基本上是16,50,6,1,80,100。因?yàn)檫€有數(shù)沒(méi)有進(jìn)行兩兩相減進(jìn)行比較,所以還要繼續(xù)進(jìn)行下面的操作。

  2. 現(xiàn)在,把第2位數(shù)“16”當(dāng)作a,把其它數(shù)當(dāng)作b, 此時(shí),要完成的操作有16-50,16-6,16-100,16-1。這次的排序結(jié)果,在上一輪結(jié)果上再進(jìn)行比較排序,改正其中幾個(gè)不對(duì)的?,F(xiàn)在的排序結(jié)果初步是6,1,16,50,80,100。

  3. 同理,接下來(lái),其它所有的數(shù)繼續(xù)進(jìn)行【a-b】的操作,直到所有的數(shù)都進(jìn)行了兩兩比較。最后,排序結(jié)果也一步步修正得到了最終的結(jié)果。

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

慕婉清7712429

我覺(jué)得是不是只要循環(huán)比較一遍就可以了,把第一位當(dāng)做A,其余的當(dāng)做B,最后結(jié)果出來(lái)的順序不是最后答案嗎?
2018-07-11 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕婉清7712429

我覺(jué)得是不是只要循環(huán)比較一遍就可以了,把第一位當(dāng)做A,其余的當(dāng)做B,最后結(jié)果出來(lái)的順序不是最后答案嗎?,因?yàn)槲艺娴挠?jì)算了下,無(wú)論是把第一位當(dāng)做A還是依次把剩下的幾位當(dāng)做A,最后的值按照從小到大來(lái)算,都是1,6,16,50,80,100,所以只要比較一次就可以了吧你回答中的答案絕對(duì)算錯(cuò)了
2018-07-11 回復(fù) 有任何疑惑可以回復(fù)我~
#3

PaulPierce

老哥 你認(rèn)真再排排看?
2018-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

他是怎么把參數(shù)傳到這個(gè)sortNum()函數(shù)里面的那?

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

通過(guò)兩數(shù)相減是大于0還是小于0判斷兩數(shù)大小從而排序

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

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468813    人
  • 解答問(wèn)題       22582    個(gè)

本課程從如何插入JS代碼開(kāi)始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界

進(jìn)入課程

關(guān)于數(shù)組排序sort()

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

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

幫助反饋 APP下載

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

公眾號(hào)

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