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

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

javascript 數(shù)組排序sort

<script?type="text/javascript">
??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));
</script>

return是什么意思?

return a-b為什么是升序?

正在回答

2 回答

我剛學(xué)編程遇到這個函數(shù)的時候和你有一樣的困擾,但用多了就自然明白了。

首先,return 是返回一個值到函數(shù)外,在調(diào)用函數(shù)的地方能夠接收這個值,在這里,return 返回的是 a-b 的值。

第二個問題,a 和 b 是怎么回事。

我們看到 sortNum 函數(shù)的調(diào)用形式,

myarr.sort(sortNum)

是將 sortNum 作為參數(shù)傳到 sort 函數(shù)中,而 sort 函數(shù)是系統(tǒng)自帶的數(shù)組函數(shù),由系統(tǒng)實現(xiàn)函數(shù)功能。

sortNum 函數(shù)要帶兩個參數(shù)也是系統(tǒng)所規(guī)定好的,在進(jìn)行排序時,系統(tǒng)會按順序(從下標(biāo) 0 一個個往后),將數(shù)組中的元素作為 a 和 b 參數(shù)傳入 sortNum 中。

比如,數(shù)組myarr,第一次傳入下標(biāo) 0 元素 myarr[0] 作為 a,下標(biāo) 1 元素 myarr[1] 作為 b,算出 a-b 的值,<=-1 則 a 在 b 前面,==0 則順序不變,>=1 則 b 在前 a 在后。比較完 myarr[0] 和 myarr[1],向后移一位,進(jìn)行 myarr[1] 和 myarr[2] 的比較,這時,myarr[1] 是 a,myarr[2] 是 b,以此類推。

在這個例子中,我們是用 a-b 來計算出需要 return 的值,你也可以根據(jù)自己的需求通過別的方式算出 return 的值進(jìn)行排序。

至于排序方法,不知道你有沒有看過“冒泡排序法”,如果沒有建議去看一下,是比較基礎(chǔ)和經(jīng)典的排序算法,每個語言都有相應(yīng)的實現(xiàn),看完也能加深對 sort 的理解。

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

任巖 提問者

非常感謝!
2016-10-11 回復(fù) 有任何疑惑可以回復(fù)我~

return是返回值,return的值在sort()函數(shù)中使用。

sort函數(shù)參數(shù)規(guī)定>=1則a的排序在排序后數(shù)列中在b之后。a-b你可以理解為數(shù)值的比較(>=1, <=-1 , -1<return<1)。根據(jù)return的值進(jìn)行排序

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

任巖 提問者

還是不太懂,a-b是怎么比較的?它們并沒有賦值。
2016-09-29 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

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

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

進(jìn)入課程

javascript 數(shù)組排序sort

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

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

幫助反饋 APP下載

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

公眾號

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