在默認(rèn)情況下,sort()方法會(huì)調(diào)用每個(gè)數(shù)組的toString()轉(zhuǎn)型方法,然后比較得到的字符串,以確定如何排序。即使數(shù)組中的每一項(xiàng)都是數(shù)值,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
比較函數(shù)接收兩個(gè)參數(shù),如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)之前則返回一個(gè)負(fù)數(shù),如果兩個(gè)參數(shù)相等則返回0;如果第一個(gè)參數(shù)應(yīng)該位于第二個(gè)之后則返回一個(gè)正數(shù)。
延伸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
方法與第一種方法類似,只不過(guò)在compare比較函數(shù),if語(yǔ)句中使return結(jié)果取反。