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