|
如[6,7,9,1,-1].sort();執(zhí)行后數(shù)組變?yōu)閇-1,1,6,7,9]。
對于需要降序排列或非字符串排序,該方法就不能很好的執(zhí)行了。
當(dāng)然,sort有一個可選參數(shù),它能幫我們解決這個問題,通過為sort傳入一個函數(shù),sort根據(jù)函數(shù)返回值進(jìn)行排序。
數(shù)組為該函數(shù)默認(rèn)傳入數(shù)組中的兩個元素,如傳入a,b,如果函數(shù)返回值大于0,則排序方式為b,a,如果返回值小于0,則排序結(jié)果為a,b。
具體含義不好解釋,當(dāng)初我也對這個sort其到底是怎么排序的不理解。
如果知道了其實現(xiàn)過程,就對他的排序原理明了了。
sort的實現(xiàn)其實很像是一個簡單的冒泡排序。
偶今日對其進(jìn)行了模擬,看懂這個函數(shù)你一定就明白sort的原理了。
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
JavaScript技術(shù):js模擬實現(xiàn)Array的sort方法,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。