今天在刷力扣題的時候遇到陣列排序的問題,想著圖個方便就使用了arr.sort(),
剛開始用正數進行測試用例的時候沒有出錯,
問題:
在使用負數的測試用例時,預期目標是 [-10,-2,-1...1,2,3], 結果出現了 [-1,-2,-10......1,2,3] 這樣的結果
解析:
在網上找了一下發現,sort()這個方法: 預設情況下是按照 Unicode 程式碼進行排序的。對於數字,如果陣列包含負數,直接使用sort()可能不會按照數值的正常順序進行排序。
怎麼辦:
方法1:自己寫排序
方法2:寫自定義函式
升序:
arr = arr.sort((a,b)=>{return a-b})
降序:
arr = arr.sort((a,b)=>{return b-a})
參考: https://blog.csdn.net/study_way/article/details/135478580