瞭解 JavaScript 字串的 localeCompare() 方法

這個方法可以比較兩個字串,並回傳一個數字(負數、0、正數),告訴我們當前字串是小於、等於還是大於傳入的字串,依據語言環境而定。

語言環境會使用目前的語言環境,或是可以作為第二個參數傳入:

'a'.localeCompare('à') //-1
'a'.localeCompare('à', 'it-IT') //-1

最常用的情境是用來排序陣列:

['a', 'b', 'c', 'd'].sort((a, b) => a.localeCompare(b))

這與一般使用的排序方式

['a', 'b', 'c', 'd'].sort((a, b) => (a > b) ? 1 : -1)

的差別在於,localeCompare() 讓我們可以支援全球各地使用的字母排序。

可以傳入作為第三個參數的物件,用來傳遞其他選項。請參考 MDN 上所有可能的選項值。