首頁 > web前端 > js教程 > JavaScript對陣列的元素進行排序的方法sort()

JavaScript對陣列的元素進行排序的方法sort()

黄舟
發布: 2017-11-03 13:21:58
原創
2245 人瀏覽過

定義和用法

sort() 方法用於對陣列的元素進行排序。

語法

arrayObject.sort(sortby)
登入後複製
參數#描述
sortby可選。規定排序順序。必須是函數。

傳回值

對陣列的引用。請注意,數組在原始數組上進行排序,不產生副本。

說明

如果呼叫該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。

如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後傳回一個用於說明這兩個值的相對順序的數字。比較函數應該有兩個參數a 和b,其傳回值如下:

  • 若a 小於b,在排序後的陣列中a 應該出現在b 之前,則回傳一個小於0 的值。

  • 若 a 等於 b,則回傳 0。

  • 若 a 大於 b,則傳回大於 0 的值。

實例

範例1

在本例中,我們將建立一個數組,並按字母順序進行排序:

<script type="text/javascript">

var arr = new Array(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

在本例中,我們將建立一個數組,並按字母順序進行排序:

<script type="text/javascript">

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

</script>
登入後複製

輸出:

10,5,40,25,1000,1
1,10,1000,25,40,5
登入後複製

請注意,上面的程式碼沒有按照數值的大小對數字進行排序,要實現這一點,就必須使用一個排序函數:

<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
登入後複製

用js中的sort()方法排序數字

<script>
  var arr = [23,12,1,34,116,8,18,37,56,50];
  alert(arr.sort();
</script>
登入後複製

傳回:

[1, 116, 12, 18, 23, 34, 37, 50, 56, 8]
登入後複製

以上是JavaScript對陣列的元素進行排序的方法sort()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板