在默認情況下,sort()方法會調用每個數組的toString()轉型方法,然后比較得到的字符串,以確定如何排序。即使數組中的每一項都是數值,sort()方法比較的也是字符串。
exp:
var values=[0,1,5,10,15];
values.sort();
alert(values);//0,1,10,15,5
延伸1:sort(compare)的升序方法。
function compare(value,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
比較函數接收兩個參數,如果第一個參數應該位于第二個之前則返回一個負數,如果兩個參數相等則返回0;如果第一個參數應該位于第二個之后則返回一個正數。
延伸2:sort(compare)的降序方法。
function compare(value,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);//15,10,5,1,0
方法與第一種方法類似,只不過在compare比較函數,if語句中使return結果取反。