如何使用localeCompare 在JavaScript 中對字串進行排序
當嘗試使用傳統方法根據字串屬性對物件清單進行排序時list.sort(function (a, b) { return a.attr - b.attr }),你可能會遇到意想不到的結果。這是因為減法運算子 (-) 本身並不會對 JavaScript 中的字串進行排序。
要在此場景中有效地對字串進行排序,請使用 String.prototype.localeCompare 方法。此方法比較兩個字串,如果第一個字串排在第二個字串之前,則傳回負數;如果第二個字串排在第一個字串之前,則傳回正數;如果兩個字串相等,則傳回零。
這裡如何使用 localeCompare 調整程式碼:
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
透過明確將 a.attr 轉換為字串,我們可以避免潛在的異常。 localeCompare 從 Internet Explorer 6 和 Firefox 1 開始提供支援。
以上是如何使用'localeCompare”在 JavaScript 中正確排序字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!