:::

JavaScript的字串排序 / String Sorting in JavaScript

3月 20, 2023 , , , 0 Comments Edit Copy Download

2023-0120-195002.png

要讓JavaScript排序做得好,其實並不簡單。


sort()

https://blog.darkthread.net/blog/javascript-chinese-char-sorting/

內建的sort是按照UTF-8 Byte排序。不過大家應該更想要作的是針對語文特性進行排序。黑暗執行緒有介紹過 localeCompare() 搭配"zh-Hant-TW"參數的用法,大致上可以按照筆畫進行排序。


字串中的數字 / Numbers in the String

不過更多時候,我會想要用字串中出現的「數字」進行排序。這要怎麼做呢?

我搭配正規表達式,依序取出字串中出現的數字來進行比較。如果沒有數字可比了,再使用localeCompare來做比較。

2023-0120-194826.png

寫法有點複雜,參考CodePen吧:

https://codepen.io/pulipuli/pen/LYBbKoZ


不過目前似乎還沒有辦法讓JavaScript用注音排序。

有人有什麼建議嗎?