定義和用法
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
文章來自:https://www.w3school.com.cn/jsref/jsref_sort.asp
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/144300.html
標籤:JavaScript
上一篇:Node.js 事件回圈
