sort() 方法用於對數組的元素進行排序。 文法:arrayObject.sort(sortby);參數sortby可選。規定排序次序。必須是函數。 註:如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字串(如有必要),以便進行比較。 sort()對數組排序,不開闢新的記憶體,對原有數組元素進行調換。 如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其傳回值如下: 若 a 小於 b,在排序後的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。 若 a 等於 b,則返回 0。 若 a 大於 b,則返回一個大於 0 的值。 執行個體代碼如下:
var arrSimple2=new Array(1,8,7,6);arrSimple2.sort(function(a,b){ return a-b});console.log(arrSimple2)// [ 1, 6, 7, 8 ]var arr_data = [ { 'icon': '', 'id': 242, 'menuLevel': 3, 'menuName': '旅遊訂單', 'menuTop': 1, 'menuUrl': '/', 'buttonControl': '0', 'supMenuID': 241 }, { 'icon': '', 'id': 243, 'menuLevel': 3, 'menuName': '簽證訂單', 'menuTop': 3, 'menuUrl': '/', 'buttonControl': '0', 'supMenuID': 241 }, { 'icon': '', 'id': 244, 'menuLevel': 3, 'menuName': '出團通知書', 'menuTop': 2, 'menuUrl': '/', 'buttonControl': '0', 'supMenuID': 241 } ]// 排序 以menuTop從小到大排列arr_data.sort(function(a,b){ return a.menuTop-b.menuTop})console.log(arr_data)// [ { icon: '',// id: 242,// menuLevel: 3,// menuName: '旅遊訂單',// menuTop: 1,// menuUrl: '/',// buttonControl: '0',// supMenuID: 241 },// { icon: '',// id: 244,// menuLevel: 3,// menuName: '出團通知書',// menuTop: 2,// menuUrl: '/',// buttonControl: '0',// supMenuID: 241 },// { icon: '',// id: 243,// menuLevel: 3,// menuName: '簽證訂單',// menuTop: 3,// menuUrl: '/',// buttonControl: '0',// supMenuID: 241 } ]