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