<select>
タグで都道府県を選択させるUIを作るとします。このとき、どのような並びにするのが正しいのでしょうか?
これ、とくに正しいという何かがあるわけでもありません。べつにどんな順番でもいいです。ただ、一般的には JIS X 0401 の「都道府県コード」順で並べているサイトが圧倒的に多いようです。
Prefecture = %w(
北海道
青森県
岩手県
宮城県
秋田県
山形県
福島県
茨城県
栃木県
群馬県
埼玉県
千葉県
東京都
神奈川県
新潟県
富山県
石川県
福井県
山梨県
長野県
岐阜県
静岡県
愛知県
三重県
滋賀県
京都府
大阪府
兵庫県
奈良県
和歌山県
鳥取県
島根県
岡山県
広島県
山口県
徳島県
香川県
愛媛県
高知県
福岡県
佐賀県
長崎県
熊本県
大分県
宮崎県
鹿児島県
沖縄県
)
なんで都道府県コード順で並べる人が多いのか? 察するに「コラッ! 何故に○○県が××県の後なんじゃぁああア!」とお怒りになられる方がいらっしゃった場合にアンサーとして「JIS X 0401 の並びの通りです、うちが決めた並べ方じゃないです」と言えるようにするためじゃないでしょうか。JIS X 0401 でも納得できない人には「ISO 3166-2:JP のコード順でもあります」と言うこともできます。ISO 3166-2:JP は JIS X 0401 に基づいて採番されていますので。
ちなみに JIS X 0402 には市町村のコードが割り振られています。それに基づいて東京23区をソートすると
TokyoDistrict23 = %w(
千代田区
中央区
港区
新宿区
文京区
台東区
墨田区
江東区
品川区
目黒区
大田区
世田谷区
渋谷区
中野区
杉並区
豊島区
北区
荒川区
板橋区
練馬区
足立区
葛飾区
江戸川区
)
となります。並べ方の根拠がいまいちわかりません。都道府県コードと違って北から順というわけでもなければ、人口順というわけでもない、なんだか不思議な並べ方です。こころなしか 足立区・葛飾区・江戸川区 あたりが dis られてる気がしないわけでもありません。でもまあ、いいんです。JIS だから。JIS が決めたことですから。ね。「当サイトが順番に恣意的な意味をこめたわけではないんです」と言えればそれで十分なんですから。
ちなみに、この JIS X 0401(都道府県コード) と JIS X 0402 (市町村コード) を連結したものが、おなじみ KEN_ALL.csv の1列目に記載されています。見てみてください。
そもそも重要なことですが、JIS X 0401/0402 のコードはソート順を定義したものではありません。たんにユニークな番号を振った、というものです。が、ソートに使ってはいけないということはありません。ソート順に困ったときにとりあえず使う分にはたいへん便利です。「山梨県は東京都の隣のほうがいいんじゃないか、ぶつぶつ」と考えはじめてしまうと大変ですから、さっさと JIS さん頼みにしてしまいましょう。