字串 localeCompare() 方法
瞭解 JavaScript 字串的 localeCompare() 方法
這個方法可以比較兩個字串,並回傳一個數字(負數、0、正數),告訴我們當前字串是小於、等於還是大於傳入的字串,依據語言環境而定。
語言環境會使用目前的語言環境,或是可以作為第二個參數傳入:
1 | 'a'.localeCompare('à') //-1 |
最常用的情境是用來排序陣列:
1 | ['a', 'b', 'c', 'd'].sort((a, b) => a.localeCompare(b)) |
這與一般使用的排序方式
1 | ['a', 'b', 'c', 'd'].sort((a, b) => (a > b) ? 1 : -1) |
的差別在於,localeCompare()
讓我們可以支援全球各地使用的字母排序。
可以傳入作為第三個參數的物件,用來傳遞其他選項。請參考 MDN 上所有可能的選項值。