【JavaScript ECMAScript】Intl::Intl.Collator.prototype.compareインスタンスメソッドの使い方
Intl.Collator.prototype.compare()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
Intl.Collator.prototype.compare()メソッドは、Intl.Collator オブジェクトのインスタンスに属し、国際化のルールに基づいて二つの文字列を比較する機能を実行するメソッドです。このメソッドは、言語や地域に特有の照合(ソート)順序を考慮して文字列の大小関係を判断します。
JavaScriptの標準的な文字列比較では、文字コードに基づいた比較が行われるため、特定の言語において文化的に正しい順序にならない場合があります。しかし、Intl.Collator.prototype.compare()メソッドを使用すると、Intl.Collator オブジェクトの生成時に指定されたロケール(言語と地域)やオプションに基づき、より正確で自然な比較結果が得られます。
このメソッドは、比較したい二つの文字列を引数として受け取ります。そして、最初の文字列が二番目の文字列より照合順序で前にくる場合は負の数、同じ場合はゼロ、後にくる場合は正の数を返します。この戻り値は、Array.prototype.sort() メソッドのコールバック関数として直接利用でき、多言語対応のアプリケーションでユーザーにとって直感的なリストのソート順を実現する際に非常に役立ちます。例えば、日本語の「が」と「か」のような濁音・半濁音の扱い方や、ドイツ語のウムラウト文字の並べ方など、言語ごとの複雑なルールに対応可能です。
構文(syntax)
1const collator = new Intl.Collator('en'); 2collator.compare('string1', 'string2');
引数(parameters)
string1, string2
- string1: string: 比較対象となる1つ目の文字列
- string2: string: 比較対象となる2つ目の文字列
戻り値(return)
number
Intl.Collator.prototype.compare() メソッドは、2つの文字列を指定されたロケールおよび照合順序の規則に従って比較した結果を数値で返します。比較結果は、文字列1が文字列2より大きい場合は正の数、文字列1が文字列2より小さい場合は負の数、文字列1と文字列2が等しい場合は 0 となります。