メソッド「 localeCompare」を使用して、次のように独自のローカライズで配列をソートできるという事実を認識しています。
aArray.sort(function(a,b){return a.localeCompare(b)});
ただし、私のスウェーデン語サイトのほとんどの (事実上すべての) 訪問者はスウェーデン語を理解しているため、現在使用している "ロケール" に関係なく、スウェーデン語の並べ替えを期待していると思います。
(今ではこの仮定について議論したくなる人もいると思いますが、スウェーデン語を理解しているが現在別のロケールを使用している人の数は、スウェーデン語のアルファベットを知らずに使用している人の数よりも多いと思います"å" と "ä" は "a" と同等にソートされ、"ö" は "o" と同等にソートされることが期待されます. スウェーデン語の最後の 3 文字 "åäö" は常にその順序でソートされることを本当に望んでいます。メソッド「 localeCompare」で使用される「ロケール」を定義するものは何でも、ブラウザまたはオペレーティングシステムの
メソッド「localeCompare」が呼び出されたときに使用される「ロケール」をプログラムで強制することが1つの解決策だったかもしれませんが、私が理解している限り、これは不可能です。(ただし、実際に可能である場合、どのようにロケールを変更しますか?)
この並べ替えの問題は、すべてのスウェーデンの JavaScript プログラマーにかなり共通しているはずですが、スウェーデンの文字列の比較メソッドを実装したオープン ソース ライブラリを見つけることができませんでした。自分で実装しようとするのではなく、再利用するために、そのようなライブラリ(ソートメソッドで使用するとパフォーマンスが向上する実装)について知っている人はいますか?