溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JavaScript中sort排序的原理是什么

發(fā)布時間:2021-08-12 15:02:09 來源:億速云 閱讀:231 作者:Leah 欄目:開發(fā)技術(shù)

JavaScript中sort排序的原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

  sort()方法用于對數(shù)組的元素進(jìn)行排序,并返回數(shù)組。默認(rèn)排序順序是根據(jù)字符串Unicode碼點(diǎn)。

  sort排序原理

  語法:arrayObject.sort(sortby);參數(shù)sortby可選。規(guī)定排序順序。必須是函數(shù)。

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

  如果想按照其他標(biāo)準(zhǔn)進(jì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的值。

  sort排序方法

  例1:我們將創(chuàng)建一個數(shù)組,并按字母順序進(jìn)行排序:

  <scripttype="text/javascript">

  vararr=newArray(6)

  arr[0]="George"

  arr[1]="John"

  arr[2]="Thomas"

  arr[3]="James"

  arr[4]="Adrew"

  arr[5]="Martin"

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

  document.write(arr.sort())

  </script>

  輸出:

  George,John,Thomas,James,Adrew,Martin

  Adrew,George,James,John,Martin,Thomas

  例2:我們將創(chuàng)建一個數(shù)組,并按字母順序進(jìn)行排序:

  <scripttype="text/javascript">

  vararr=newArray(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())

  </script>

  輸出:

  10,5,40,25,1000,1

  1,10,1000,25,40,5

  請注意,上面的代碼沒有按照數(shù)值的大小對數(shù)字進(jìn)行排序,要實(shí)現(xiàn)這一點(diǎn),就必須使用一個排序函數(shù):

  <scripttype="text/javascript">

  functionsortNumber(a,b)

  {

  returna-b

  }

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI