首頁 >web前端 >js教程 >如何在 JavaScript 中正確排序整數陣列?

如何在 JavaScript 中正確排序整數陣列?

Barbara Streisand
Barbara Streisand原創
2024-12-19 11:02:44703瀏覽

How Do I Correctly Sort an Array of Integers in JavaScript?

對整數數組進行排序:超越字母順序

在嘗試從整數數組中檢索最高和最低值時,您可以遇到了意外的行為:排序函數似乎將元素作為字串進行排序。為了解決這個問題,我們需要一個考慮整數值的排序機制。

了解預設排序

預設情況下,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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn