先寫上我們的示例代碼,如圖,我們定義了一個數組arr,數組包括有幾個字母,不按順序的,要對數組進行排序,我們可以直接調用sort方法。再加上一些輸出語句,console.log是指在瀏覽器的調試控制臺里輸出內容。
運行頁面,我們在控制臺里看下結果,如圖,數組調用sort方法后,就按字母的升序做好排序了。
我們修改下代碼,把數組內容從字符串改成數字,然后再調用sort方法,代碼如圖
修改后,運行頁面,再看下結果,從圖中可以看到,我們的數組并沒有按數字從小到大排序。
為什么這樣?因為默認情況下,數組排序都是按字符串來排序的,而不管數組內容是數字還是字符串。
那怎么讓數組按數字大小來排序呢?我們需要為sort方法傳一個參數,這個參數是一個方法,我們先定義下這個方法。該方法很簡單,就是比較二個數的大小,如圖,
然后修改下sort排序方法,把剛才定義的方法名傳進來。
再次運行頁面,可以看到現在的數組就是按數字從小到大排序的。
如果要改成從大到小排序呢?也很簡單,在numeric_sort方法里,原來是n1>n2時返回true的,改成n1<n2時返回true就行了。
再次運行,就可以得到數組從大到小的結果了。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!