var 値=[0,1,5,10, 15];
values.sort();
alert(values);// 出力 0,1,10,15,5
これは、sort が toString メソッドを呼び出すためです。各項目の比較のため、「10」は「5」より小さいため前にあります。
値を並べ替えるには、比較関数を定義し、その関数を sort に渡す必要があります。
function Compare(value1,value2){
if (value1return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
varvalues=[0,1,5,10,15];
values.sort(compare);// 0,1,5,10 を出力します。 ,15
これは順方向ですが、逆方向の場合は比較関数で -1 と 1 を入れ替えるだけでOKです。