js中array的sort()方法使用介紹
或許你一直相信它會(huì)給你正確的結(jié)果。
至少我曾經(jīng)也是這樣認(rèn)為的,直到有一天,我看到了如下的代碼 :
[5,10,1].sort();
或許結(jié)果有點(diǎn)出人意料。結(jié)果如下:
[1,10,5]
仔細(xì)深究之后,發(fā)現(xiàn)原來(lái)默認(rèn)的sort方法并不是按照整形數(shù)據(jù)來(lái)排序,而是用的字符串匹配方式。
換言之就是10 中的這個(gè) 1 導(dǎo)致了上面代碼的錯(cuò)誤。
當(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),以記錄之,防止忘記。
相關(guān)文章
js實(shí)現(xiàn)的動(dòng)畫(huà)導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)的動(dòng)畫(huà)導(dǎo)航菜單效果代碼,涉及JavaScript通過(guò)鼠標(biāo)事件控制頁(yè)面元素樣式動(dòng)態(tài)變換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09JavaScript中判斷函數(shù)是new還是()調(diào)用的區(qū)別說(shuō)明
具名函數(shù)的各種調(diào)用方式 在之前篇幅中已經(jīng)介紹過(guò)了。這篇看看如何判斷一個(gè)函數(shù)是被new調(diào)用的,還是被其它方式調(diào)用的。2011-04-04基于openlayers4實(shí)現(xiàn)點(diǎn)的擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了基于openlayers4實(shí)現(xiàn)點(diǎn)的擴(kuò)散效果 ,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01axios如何利用promise無(wú)痛刷新token的實(shí)現(xiàn)方法
這篇文章主要介紹了axios如何利用promise無(wú)痛刷新token的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08Nest.js快速啟動(dòng)API項(xiàng)目過(guò)程詳解
這篇文章主要為大家介紹了Nest.js快速啟動(dòng)API項(xiàng)目過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10js multiple全選與取消全選實(shí)現(xiàn)代碼
本文章總結(jié)了利用jquery與js實(shí)現(xiàn)multiple全選與取消全選代碼有需要參考的朋友可參考下2012-12-12創(chuàng)建一個(gè)類(lèi)Person的簡(jiǎn)單實(shí)例
如何創(chuàng)建一個(gè)類(lèi)Person?下面小編就為大家?guī)?lái)一篇?jiǎng)?chuàng)建一個(gè)類(lèi)Person的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-05-05JSCode all of Brower 全局屏蔽網(wǎng)頁(yè)右鍵功能 具體實(shí)現(xiàn)
JSCode all of Brower 全局屏蔽網(wǎng)頁(yè)右鍵功能 具體實(shí)現(xiàn),需要的朋友可以參考一下2013-06-06js實(shí)現(xiàn)的Easy Tabs選項(xiàng)卡用法實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)的Easy Tabs選項(xiàng)卡用法,以完整實(shí)例形式較為詳細(xì)的分析了JavaScript鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09