複製代碼代碼如下:
var values=[0,1,5,10,15];
values.sort();
alert(values);// 輸出0,1,10,15,5
這是因為sort會調用每一項的toString方法進行比較,"10"比"5"小,故在前面。
要實現對數值進行排序,則需要定義一個比較函數,並將該函數傳入sort。
複製代碼代碼如下:
function compare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var values=[0,1,5,10,15];
values.sort(compare);
alert(values);// 輸出0,1,5,10,15
這是正向,反向只需把比較函數中-1和1交換過來就ok了。