在默認(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
方法與第一種方法類似罗岖,只不過在compare比較函數(shù)涧至,if語句中使return結(jié)果取反。