たとえば、var arr = ["中","华","人","民","Communist","和","国"] の場合、sort メソッドを実行すると、結果は次のようになります: China, People,共産党、中国、何、郭、民はピンインでも画数順でもありません。
これまで localeCompare メソッドに注目したことはほとんどありませんでしたが、マニュアルには、実行時に 2 つの文字列が現在のロケールで同じかどうかを示す値が返されると記載されています。戻り値には -1、0、1 の 3 つのタイプがあります。これらは、sort メソッドのパラメーターで必要なタイプとまったく同じです。 localeCompare を sort メソッドに適用し、結果を確認します。
var arr = ["中","华","人","民","公","和","国" ];
alert(arr.sort(function(a,b){return a.localeCompare(b)}));//結果は次のとおりです: 共産、郭、何、華、民、任、鐘 (ピンイン昇順) )
localeCompare メソッドは現在の領域で比較することに注意してください。つまり、比較環境は、数値、通貨、日付と時刻などの表現など、現在のオペレーティング システムによって設定された地理的領域です。 (「コントロールパネル」で確認・変更できます)、並べ替え方法がストロークに設定されている場合、上記の結果は次のようになります: 人民、中国、中華人民共和国、共産党、中国、国 (昇順)ストローク数)。