鍍金池/ 問答/HTML/ js數(shù)組排序中大小順序的疑問

js數(shù)組排序中大小順序的疑問

小白不太懂,請問為何x>y 返回1 就是從小到大排序。 而x>y 返回-1 就是從小到大排序。

回答
編輯回答
生性

arr.sort(compare),compare是一個比較函數(shù),接受a和b兩個參數(shù),如果要升序排列,a和b比較,小于返回-1,大于返回-1,相等返回0,降序的話就反過來。排序思想應(yīng)該是類似于冒泡排序思想的,通過前后相鄰的兩個數(shù)進行比較,例如8與16,這時將8作為方法函數(shù)compare(a,b)參數(shù)列表中的a,16作為b,通過語句return a - b;返回一個數(shù)值,8-16=-8, 若返回值>=1,則表示a在排序后的序列中出現(xiàn)在b之后,反之在b之前,所以8會在排序后出現(xiàn)在16之前,此時,新的數(shù)據(jù)序列為8,16,50,6,100,1,再將16作為a,50作為b進行上述的做法,第一輪下來,100就會排在最后,又開始新的一輪排序

2017年7月13日 12:12