或許你一直在用javascript中的array的sort.
或許你一直相信它會給你正確的結果。
至少我曾經也是這麼認為的,直到有一天,我看到瞭如下的程式碼:
複製程式碼
程式碼如下:
[5,10,1].sort();
複製代碼
代碼如下:
[1,10,5]
仔細深究之後,發現原來預設的sort方法並不是按照整形資料來排序,而是用的字串比對方式。
複製程式碼
程式碼如下:
[5,10,1].sort(function( x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);
這樣就能得到你預期的結果了。 偶然發現,以記錄之,防止忘記。