js中array的sort()方法使用介紹
更新時間:2014年02月20日 16:38:19 作者:
默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式,下面有個不錯的示例,大家可以參考下
或許你一直在用javascript中的array的sort.
或許你一直相信它會給你正確的結(jié)果。
至少我曾經(jīng)也是這樣認為的,直到有一天,我看到了如下的代碼 :
[5,10,1].sort();
或許結(jié)果有點出人意料。結(jié)果如下:
[1,10,5]
仔細深究之后,發(fā)現(xiàn)原來默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式。
換言之就是10 中的這個 1 導(dǎo)致了上面代碼的錯誤。
當(dāng)然,解決方法有很多,可以給sort方法中傳入回調(diào)函數(shù)。
[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);
這樣就能得到你預(yù)期的結(jié)果了。
偶然發(fā)現(xiàn),以記錄之,防止忘記。
或許你一直相信它會給你正確的結(jié)果。
至少我曾經(jīng)也是這樣認為的,直到有一天,我看到了如下的代碼 :
復(fù)制代碼 代碼如下:
[5,10,1].sort();
或許結(jié)果有點出人意料。結(jié)果如下:
復(fù)制代碼 代碼如下:
[1,10,5]
仔細深究之后,發(fā)現(xiàn)原來默認的sort方法并不是按照整形數(shù)據(jù)來排序,而是用的字符串匹配方式。
換言之就是10 中的這個 1 導(dǎo)致了上面代碼的錯誤。
當(dāng)然,解決方法有很多,可以給sort方法中傳入回調(diào)函數(shù)。
復(fù)制代碼 代碼如下:
[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);
這樣就能得到你預(yù)期的結(jié)果了。
偶然發(fā)現(xiàn),以記錄之,防止忘記。
相關(guān)文章
JavaScript中實現(xiàn)無縫滾動、分享到側(cè)邊欄實例代碼
本文給通過js代碼實現(xiàn)無縫滾動,側(cè)邊欄效果,在項目中經(jīng)常會遇到,下面小編把代碼整理分享到腳本之家平臺,供大家參考2016-04-04
純JavaScript實現(xiàn)的兼容各瀏覽器的添加和移除事件封裝
這篇文章主要介紹了純JavaScript實現(xiàn)的兼容各瀏覽器的添加和移除事件封裝,本文直接給出實現(xiàn)代碼,代碼中帶詳細注釋,需要的朋友可以參考下2015-03-03
JavaScript判斷dom元素是否在可視區(qū)域的常規(guī)方式總結(jié)
這篇文章主要為大家詳細介紹了JavaScript判斷dom元素是否在可視區(qū)域的常規(guī)方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12
JavaScript日期處理之格式化與倒計時實現(xiàn)方法
在Web開發(fā)中,處理日期和時間是一個常見的需求,JavaScript作為前端開發(fā)的主要語言,提供了多種方式來計算和格式化日期和時間,這篇文章主要介紹了JavaScript日期處理之格式化與倒計時實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2025-10-10
element 中 el-menu 組件的無限極循環(huán)思路代碼詳解
這篇文章主要介紹了element 中 el-menu 組件的無限極循環(huán),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

