このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
Intl.Collator
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年9月.
Intl.Collator オブジェクトは、言語を考慮した文字列の比較を可能にします。
In this article
試してみましょう
console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("de").compare));// Expected output: Array ["a", "ä", "z", "Z"]console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("sv").compare));// Expected output: Array ["a", "z", "Z", "ä"]console.log( ["Z", "a", "z", "ä"].sort( new Intl.Collator("de", { caseFirst: "upper" }).compare, ),);// Expected output: Array ["a", "ä", "Z", "z"]コンストラクター
Intl.Collator()新しい
Collatorオブジェクトを生成します。
静的メソッド
Intl.Collator.supportedLocalesOf()指定したロケールのうち、ランタイムの既定のロケールに代替されることなく対応されているものを含む配列を返します。
インスタンスメソッド
Intl.Collator.prototype.compareこの
Intl.Collatorオブジェクトのソート順に応じて 2 つの文字列を比較する関数を返します。Intl.Collator.prototype.resolvedOptions()ロケールを反映しているプロパティとオブジェクトの初期化中に計算された照合オプションをもった新しいオブジェクトを返します。
例
>Collator の使用
次の例では、一方の文字列が他方の文字列より前である場合、後である場合、および同じレベルである場合の比較結果を表示します。
console.log(new Intl.Collator().compare("a", "c")); // → 負の値console.log(new Intl.Collator().compare("c", "a")); // → 正の値console.log(new Intl.Collator().compare("a", "a")); // → 0上記コードの結果は、ブラウザーやブラウザーのバージョンによって異なる可能性がある点に注意してください。というのも前および後を表す数値については、それぞれ負の数および正の数であることだけが仕様によって定めています。具体的な数値は定められていないため、実装ごとに異なる数値になるかもしれません。
locales の使用
Intl/Collator/compare の結果は言語によって異なります。アプリケーションのユーザーインターフェイスで使用される言語のソート順を取得するには、locales 引数にその言語を(およびフォールバック用の言語も)指定してください。
// in German, ä sorts with aconsole.log(new Intl.Collator("de").compare("ä", "z"));// → 負の値// in Swedish, ä sorts after zconsole.log(new Intl.Collator("sv").compare("ä", "z"));// → 正の値options の使用
Intl/Collator/compare の結果はoptions 引数でカスタマイズできます。
// in German, ä has a as the base letterconsole.log(new Intl.Collator("de", { sensitivity: "base" }).compare("ä", "a"));// → 0// in Swedish, ä and a are separate base lettersconsole.log(new Intl.Collator("sv", { sensitivity: "base" }).compare("ä", "a"));// → 正の値仕様書
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # collator-objects> |