js中array的sort()方法使用介紹
更新時間:2014年02月20日 16:38:19 作者:
默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式,下面有個不錯的示例,大家可以參考下
或許你一直在用javascript中的array的sort.
或許你一直相信它會給你正確的結果。
至少我曾經也是這樣認為的,直到有一天,我看到了如下的代碼 :
[5,10,1].sort();
或許結果有點出人意料。結果如下:
[1,10,5]
仔細深究之后,發(fā)現(xiàn)原來默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式。
換言之就是10 中的這個 1 導致了上面代碼的錯誤。
當然,解決方法有很多,可以給sort方法中傳入回調函數(shù)。
[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);
這樣就能得到你預期的結果了。
偶然發(fā)現(xiàn),以記錄之,防止忘記。
或許你一直相信它會給你正確的結果。
至少我曾經也是這樣認為的,直到有一天,我看到了如下的代碼 :
復制代碼 代碼如下:
[5,10,1].sort();
或許結果有點出人意料。結果如下:
復制代碼 代碼如下:
[1,10,5]
仔細深究之后,發(fā)現(xiàn)原來默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式。
換言之就是10 中的這個 1 導致了上面代碼的錯誤。
當然,解決方法有很多,可以給sort方法中傳入回調函數(shù)。
復制代碼 代碼如下:
[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);
這樣就能得到你預期的結果了。
偶然發(fā)現(xiàn),以記錄之,防止忘記。
相關文章
JavaScript中判斷函數(shù)是new還是()調用的區(qū)別說明
具名函數(shù)的各種調用方式 在之前篇幅中已經介紹過了。這篇看看如何判斷一個函數(shù)是被new調用的,還是被其它方式調用的。2011-04-04axios如何利用promise無痛刷新token的實現(xiàn)方法
這篇文章主要介紹了axios如何利用promise無痛刷新token的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08JSCode all of Brower 全局屏蔽網頁右鍵功能 具體實現(xiàn)
JSCode all of Brower 全局屏蔽網頁右鍵功能 具體實現(xiàn),需要的朋友可以參考一下2013-06-06