瞭解 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 上所有可能的選項值。