javascript 中 Array.sort()方法是用來對數組項進行排序的 ,預設情況下是進行升序排列,執行個體代碼如下:
以下是引用片段: var arrA = [6,2,4,3,5,1]; arrA.sort(); document.writeln(arrA); //結果是:1,2,3,4,5,6 |
sort() 方法可以接受一個 方法為參數 ,這個方法有兩個參數。分別代表每次排序比較時的兩個數組項。sort()排序時每次比較兩個數組項都回執行這個參數,並把兩個比較的數組項作為參數傳遞給這個函數。當函數傳回值為1的時候就交換兩個數組項的順序,否則就不交換。
執行個體如下:
以下是引用片段: var arrA = [6,2,4,3,5,1]; /**//*arrA.sort(); document.writeln(arrA); */ function desc(x,y) ...{ if (x > y) return -1; if (x < y) return 1; } function asc(x,y) ...{ if (x > y) return 1; if (x < y) return -1; } arrA.sort(desc); // sort by desc document.writeln(arrA); document.writeln("<br>"); arrA.sort(asc); //sort by asc document.writeln(arrA); //輸出結果: 6,5,4,3,2,1 1,2,3,4,5,6 |
另外,可以直接把一個無名函數直接放到sort()方法的調用中。如下的例子是將奇數排在前面,偶數排在後面,例子如下:
以下是引用片段: var arrA = [6,2,4,3,5,1]; arrA.sort( function(x, y) ...{ if (x % 2 ==0) return 11; if (x % 2 !=0) return -1; } ); document.writeln(arrA); //輸出:1,5,3,4,6,2 |