配列内をa-zで並び替えをしようと思ったのですが
英字だと並び替えができるのですが、日本語だとうまく並び替えができないです。
そういうものなのでしょうか?
他に良いフィルターがあったりするのでしょうか?
(例)
{%- liquid
assign arr = 'curry,Banana,tea,Apple,peach' | split: ','
assign arrjp = 'カレー,ばなな,茶,林檎,桃' | split: ','
%}
{{ arr | sort | join: ' ' }}
{{ arrjp | sort | join: ' ' }}
結果:
Apple Banana curry peach tea
ばなな カレー 林檎 桃 茶
Tono_mg 様
はじめまして、フルバランスの道家です。
ご質問を確認いたしました。
sortにつきましては、英語、ひらがな、カタカタで統一しておく必要がございます。
混在している状態ですと以下のようにJSで実装されるのがよいかと思います。
https://blog.kimizuka.org/entry/2021/06/03/121459
https://note.kiriukun.com/entry/20181129-sort-with-local-compare
なにかヒントになれば幸いです。
私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。
分からない点があれば、またいつでもご連絡ください。
フルバランス 道家
SORTフィルターは、数字, 英字大文字, 英字小文字,平仮名,片仮名,漢字… の順番に並ぶので、平仮名片仮名漢字が混ざっている場合は、平仮名の中で並び替えた後に、片仮名の中で並び替えて、最後に漢字を並び替えます。
雨,ウ,う,意,イ,い,亜,ア,あ,c,C,b,B,a,A,3,2,1
↓
1 2 3 A B C a b c あ い う ア イ ウ 亜 意 雨
PHPのmb_convert_kanaのような関数はありません。