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