這篇文章帶給大家的內容是關於js中sortNumber函數如何進行陣列的排序?有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
JS中有sort方法實作排序,但是單純的用sort方法還不行,實作數值的排序也需要使用一個叫sortNumber函數。
var arr = new Array(99,66,888,694898,116,46,41); document.write("排序前:" +arr); document.write("<br/>") document.write("排序后:" +arr.sort());
function sortNumber(a,b) { return a - b; } var arr = new Array(99,66,888,694898,116,46,41); document.write("排序前:" +arr); document.write("<br/>") document.write("排序后:" +arr.sort(sortNumber));
sort排序方法:
它並沒有按照數值的大小對數字進行排序。
sortNumber排序函數:
如果呼叫方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。
要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後傳回一個用來說明這兩個值的相對順序的數字。
比較函數應該有兩個參數 a 和 b,其傳回值如下:
若 a 小於 b,在排序後的陣列中 a 應該會出現在 b 之前,則傳回一個小於 0 的值。
若 a 等於 b,則回傳 0。
若 a 大於 b,則回傳一個大於 0 的值。
相關推薦:
js封裝_new函數以及實作new關鍵字的方法(附程式碼測試)
#以上是js中sortNumber函數如何進行陣列的排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!