使用sort方法實(shí)現(xiàn)用自定義標(biāo)準(zhǔn)給數(shù)組排序
2021-09-14 15:41 作者:會(huì)飛的蝸牛007 | 我要投稿
數(shù)組的類型任意。
語(yǔ)法:arrayObject.sort(sortby)
參數(shù)sortby可選。
如果沒(méi)有使用參數(shù),按字母順序?qū)?shù)組中的元素進(jìn)行排序,或者說(shuō)是按照字符編碼的順序進(jìn)行排序。
如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)應(yīng)該有兩個(gè)參數(shù) a 和 b,其返回值如下:
若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。
若 a 等于 b,則返回 0。
若 a 大于 b,則返回一個(gè)大于 0 的值。
舉個(gè)例子:如果有一個(gè)腳本數(shù)組,比如一個(gè)Card腳本的數(shù)組_pokerArr(默認(rèn)是亂序的),Card腳本中有屬性_pokerNum(nu mber類型),想要根據(jù)屬性_pokerNum的大小給_pokerArr重新排序
this._pokerArr.sort((a,b)=>{
return (a.getComponent(Card)._pokerNum - b.getComponent(Card)._pokerNum);
})
在實(shí)際應(yīng)用時(shí),數(shù)組可以是任意類型的,比較屬性也可以是任意類型的,只要有比較返回值,就可以按照自己的規(guī)則給數(shù)組排序。
標(biāo)簽: