從整數數組中獲得最多和最少:意外的字串替換
找出整數數組中的最高值和最低值的任務僅包含整數的陣列看起來看似簡單。然而,正如人們可能發現的那樣,本機 sort() 方法提出了一個意想不到的障礙。由於它預設優先考慮字母順序,因此數字排序比預期更具挑戰性。我們如何克服這個障礙並指示 sort() 函數專注於陣列元素中的整數值?
考慮以下範例:
var numArray = [140000, 104, 99]; numArray = numArray.sort(); console.log(numArray);
直覺的期望將引導我們預期輸出為 99, 104, 140000。然而,結果卻截然不同:104, 140000, 99. 這種特殊的行為源自於 sort() 方法將值視為字串而非整數的固有傾向。
為了解決這個問題,我們可以引入一個自訂排序函數來明確處理數值。以下是我們如何實現這一點:
var numArray = [140000, 104, 99]; numArray.sort(function(a, b) { return a - b; }); console.log(numArray);
sortNumber(a, b) 函數有效地處理我們尋求的數字排序。透過從 b 中減去 a,正值將 a 推向右側,確保較高的值稍後出現在排序數組中。相反,負值會提示交換,將較小的值放在左側。這個自訂排序函數使我們能夠準確地對整數數組進行排序,並按預期提供最高值和最低值。
以上是如何在 JavaScript 中正確排序整數陣列以找到最小值和最大值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!