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 return 1;
}
function asc(x,y)
...{
if (x > y)
return 1;
if (x return -1;
}
arrA.sort(desc); // sort by desc
document.writeln(arrA) ;
document.writeln("
");
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