今天看了個視頻驮捍,排序的時候發(fā)現(xiàn)sort()的使用掌握的還不熟練,在網(wǎng)上找了一篇文章學習一下玖翅。
轉(zhuǎn)載地址:https://www.cnblogs.com/saifei/p/9043821.html
sort() 方法用于對數(shù)組的元素進行排序翼馆,并返回數(shù)組。默認排序順序是根據(jù)字符串UniCode碼金度。因為排序是按照字符串UniCode碼的順序進行排序的应媚,所以首先應該把數(shù)組元素都轉(zhuǎn)化成字符串(如有必要),以便進行比較猜极。
語法:arrayObject.sort(sortby);
參數(shù)sortby 可選中姜,用來規(guī)定排序的順序,但必須是函數(shù)跟伏。
例一:按照字母順序排序
image
例二:還是按照字母進行排序
image
納尼丢胚,這次排序似乎沒有得到想要的結(jié)果。受扳。携龟。。勘高。峡蟋。
如果要得到自己想要的結(jié)果,不管是升序還是降序华望,就需要提供比較函數(shù)了蕊蝗。該函數(shù)比較兩個值的大小,然后返回一個用于說明這兩個值的相對順序的數(shù)字赖舟。
比較函數(shù)應該具有兩個參數(shù) a 和 b蓬戚,其返回值如下:
若 a 小于 b,即 a - b 小于零建蹄,則返回一個小于零的值碌更,數(shù)組將按照升序排列裕偿。
若 a 等于 b洞慎,則返回 0痛单。
若 a 大于 b, 即 a - b 大于零,則返回一個大于零的值劲腿,數(shù)組將按照降序排列旭绒。
例三:升序排列
image
例四:降序排序
image
如果想根據(jù)數(shù)組對象中的某個屬性值進行排序怎么辦呢?焦人?挥吵?
例五:按照數(shù)組對象中某個屬性值進行排序
image
例六:根據(jù)參數(shù)來確定是升序還是降序
image