對整數數組進行排序:超越字母順序
在嘗試從整數數組中檢索最高和最低值時,您可以遇到了意外的行為:排序函數似乎將元素作為字串進行排序。為了解決這個問題,我們需要一個考慮整數值的排序機制。
了解預設排序
預設情況下,JavaScript 中的排序方法執行字母順序排序。這意味著元素將作為字串進行比較並按字典順序排列。對於整數,這可能會導致不正確的結果,因為比較是基於數字的字串表示形式而不是其實際值。
解決方案:自訂數字排序函數
為了解決這個限制,我們可以定義一個自訂排序函數,專注於比較陣列元素的整數值。這是一個簡單的範例:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
提供的排序函數(名為 sortNumber 或類似)採用兩個參數,a 和 b,代表兩個要比較的元素。要按升序對數組進行排序,我們只需從 b 中減去 a 即可。如果結果是肯定的,a應該在b之後;如果為負數,a 應該在 b 之前。
結果
透過使用自訂排序功能,我們得到正確的結果:
[99, 104, 140000]
現在,陣列元素以其整數值按其整數值升序排序。
以上是如何在 JavaScript 中正確排序整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!