js sort排序
阿新 • • 發佈:2018-12-01
這個是sort方法裡的那個比較函式的特殊的返回值,比較函式的引數 a 和 b 代表數組裡的兩個元素,如果 a 小於 b,排序後的陣列 a 在 b 前面,此時返回一個負數 (即上面的 return -1)如果 a 等於 b,排序後兩者位置不變,此時返回 0 (即上面的 return 0)如果 a 大於 b,排序後 a 在 b 後面, 返回一個正數 (即上面的 return 1)
//比較函式一般簡寫成:
arr.sort( function(a,b){ return a-b // 升序 } ); arr.sort( function(a,b){ return b-a // 降序 } );
// 對應上面的解釋好好想下,不難理解為什麼這樣寫
var array = [4,8,128,1,64,2,16,32]; array = array.sort(compare); function compare(value1, value2){ if(value1 < value2){ return -1; }else if(value1 > value2){ return 1; }else{ return 0; } }
以上程式碼等價於:
array = array.sort(function(value1, value2){return value1 < value2 ? -1 : 1; });
這裡用來記錄下
以上內容轉自https://blog.csdn.net/jbguo/article/details/82802065