當前位置:
首頁 > 最新 > JavasSript陷阱之sort

JavasSript陷阱之sort

先安利一個 網站CodeWars,上面的題都是用戶出的,所以題庫無限大,升段系統也挺有意思的,我的主頁Hoofoo。

函數是 編程最常用的函數之一,最近在codewars練演算法時偶然發現執行 時負數的排序順序沒有按照預想的運行。

[5,4,3,2,1,0,-1,-2].sort() // =>[ -1, -2, 0, 1, 2, 3, 4, 5 ]

然後在MDN查看發現 函數默認是按字典序排序的,MDN是如下描述的:

方法在適當的位置對數組的元素進行排序,並返回數組。 sort 排序不一定是穩定的。默認排序順序是根據字元串Unicode碼點。

所以排序還是要老老實實的用回調函數:

[5,4,3,2,1,0,-1,-2].sort((a, b) => a - b) // =>[ -2, -1, 0, 1, 2, 3, 4, 5 ] [5,4,3,2,1,0,-1,-2].sort((a, b) => b - a) // =>[ 5, 4, 3, 2, 1, 0, -1, -2 ]

可能很多函數都像 一樣不會像我們想像的那樣運行,多看書看文檔,鞏固好基礎,才能寫出足夠穩固的代碼。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 推酷 的精彩文章:

阿里巴巴最新面試經驗
路由器的LED燈將允許攻擊者從物理隔離計算機中竊取數據
PHP安全之密碼哈希處理
月訂單超20000,最低報價588元,獲順為、騰訊投資,他卻說自己乾的是臟活累活
做 LGBT 群體的 Airbnb,法國初創公司 Misterb&b?獲850 萬美元融資

TAG:推酷 |