JavaScript 的數(shù)組排序是一個(gè)非常常見(jiàn)業(yè)務(wù)場(chǎng)景,ECMAScript 為數(shù)組提供了一個(gè)原生的sort函數(shù),今天我們就來(lái)好好看看你對(duì)sort函數(shù)究竟了解多少。首先我們來(lái)看一下數(shù)組排序之sort函數(shù)的基本信息、各種排序的應(yīng)用方式。
沒(méi)有參數(shù)的默認(rèn)排序
升序排列
降序排列
好了,看完升序和降序排列以后我們來(lái)聊聊排序的規(guī)則。
如果添加了 compareFunction 那么數(shù)組會(huì)按該函數(shù)的返回值結(jié)果進(jìn)行排序。
即 compareFunction(a,b) 表示 a,b的比較結(jié)果,規(guī)則如下:
· 如果返回值結(jié)果小于0,則a和b的順序不變;
· 如果返回值結(jié)果等于0,則a和b的順序不變;
· 如果返回值的結(jié)果大于0,a和b會(huì)交換位置。
了解了以上排序結(jié)果以后我們可以使用sort方法顛倒數(shù)組的順序(實(shí)現(xiàn)類(lèi)似于reverse方法的效果)
隨機(jī)排序
按照對(duì)象指定的屬性值進(jìn)行升序或降序排列
升序排列結(jié)果:
降序排列結(jié)果:
我們?cè)賮?lái)看看特別的排序方式
先按奇數(shù)升序排列,后按偶數(shù)升序排列
更多關(guān)于前端培訓(xùn)的問(wèn)題,歡迎咨詢千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。
注:本文部分文字和圖片來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪除。版權(quán)歸原作者所有!