前言
在Javascript數(shù)組排序中有一個(gè)sort()方法,sort()方法可以說分為兩種,一種是文字?jǐn)?shù)組排序,一種是數(shù)字?jǐn)?shù)組排序。下面這篇文章主要和大家分享了關(guān)于最近學(xué)習(xí)javascript sort()排序發(fā)現(xiàn)了一點(diǎn)理解,下面話不多說了,來一起看看詳細(xì)的介紹吧。
sort()排序的原理
最近在leetcode刷題的時(shí)候遇到一個(gè)排序問題之前一直都忽略了sort排序的原理,讓我們看下w3c對(duì)于sort()的說明:
如果調(diào)用該方法時(shí)沒有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。
要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。
這樣就可以解釋為什么[0,1,5,10,8]的升序排列會(huì)是[0,1,10,5,8]了

sort()排序參數(shù)的使用
w3c對(duì)于參數(shù)的使用還有如下一段說明:如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:
所以得出如果想要升序排列的話通過a-b就可以實(shí)現(xiàn) sort((a,b)=>a-b) ,反序也可以通過這個(gè)來做到:

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注