最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

一知半解,函數(shù)function sortNum()

()里面的a,b是什么?函數(shù)也沒在下面調(diào)用???

正在回答

4 回答

看了些資料,初淺的理解可以這樣:

sort()函數(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)心,知道這么用就可以了


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

兩位的回答都有可取的地方,第一位的簡單明了,第二位略顯專業(yè)。。。

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

唉,樓上說的有錯誤。

“當函數(shù)返回值為1的時候就交換兩個數(shù)組項的順序,否則就不交換”這句話絕對是錯的。


arrayObject.sort(sortby)?

sortby ? ?可選。規(guī)定排序順序。必須是函數(shù)。 ? ?

返回值

對數(shù)組的引用。請注意,數(shù)組在原數(shù)組上進行排序,不生成副本(也就是說原數(shù)組會發(fā)生改變)。

說明

如果調(diào)用該方法時沒有使用參數(shù),將按字母順序?qū)?shù)組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現(xiàn)這一點,首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進行比較。

如果想按照其他標準進行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個參數(shù) a 和 b,其返回值如下:

若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個小于 0 的值。

若 a 等于 b,則返回 0。

若 a 大于 b,則返回一個大于 0 的值。


<script type="text/javascript">

function sortNumber(a,b)
{
? return a - b
}

var arr = new Array(6)
????arr[0] = "10"
????arr[1] = "5"
????arr[2] = "40"
????arr[3] = "25"
????arr[4] = "1000"
????arr[5] = "1"

document.write(arr + "<br />")
document.write(arr.sort(sortNumber))

</script>


輸出:

10,5,40,25,1000,1
1,5,10,25,40,1000


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

menghuanbaolei

嘻嘻,為什么總感覺在哪里看過
2014-12-29 回復(fù) 有任何疑惑可以回復(fù)我~

sort()排序時每次比較兩個數(shù)組項都回執(zhí)行這個參數(shù),并把兩個比較的數(shù)組項作為參數(shù)傳遞 給這個函數(shù)。當函數(shù)返回值為1的時候就交換兩個數(shù)組項的順序,否則就不交換。這里是涉及到算法的,你可以在網(wǎng)上搜一些算法題自己先了解一下算法

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

舉報

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

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

進入課程

一知半解,函數(shù)function sortNum()

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

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

幫助反饋 APP下載

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

公眾號

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