您好,登錄后才能下訂單哦!
JavaScript中sort排序的原理是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
sort()方法用于對數組的元素進行排序,并返回數組。默認排序順序是根據字符串Unicode碼點。
sort排序原理
語法:arrayObject.sort(sortby);參數sortby可選。規定排序順序。必須是函數。
注:如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然后返回一個用于說明這兩個值的相對順序的數字。比較函數應該具有兩個參數a和b,其返回值如下:
若a小于b,在排序后的數組中a應該出現在b之前,則返回一個小于0的值。
若a等于b,則返回0。
若a大于b,則返回一個大于0的值。
sort排序方法
例1:我們將創建一個數組,并按字母順序進行排序:
<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:我們將創建一個數組,并按字母順序進行排序:
<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
請注意,上面的代碼沒有按照數值的大小對數字進行排序,要實現這一點,就必須使用一個排序函數:
<scripttype="text/javascript">
functionsortNumber(a,b)
{
returna-b
}
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。