HOWTO · JavaScript

JavaScript で文字列を比較する

JavaScript は、2つの文字列を localeCompare()メソッドと比較して、結果を-1、1、0 で返します。これは、文字列が同等の文字列と一致する場合、メソッドは 0 を返し、より大きい場合は 1 を返し、そうでない場合は-1 を返します。

JavaScript で文字列を比較する場合、対応するタスクはメソッド localeCompare() によって実行されます。望ましい場合に終了できる関数を定義することもできます。

ここでは、2つの文字列を比較する 2つの方法について説明します。1つは localeCompare() メソッドによるもので、もう 1つは user-defined 関数によるものです。

JavaScript の localeCompare() メソッドを使用して文字列を比較する

この場合、string1string2 を比較します。駆動された結果は、-101 の 3つのリターンタイプを提供します。

  • string1string2 の後に(アルファベット順または時系列で)string2 の後にある場合、戻り値は 1 になります。
  • string1string2 の前(より小さい)の場合、メソッドは -1 を返します。
  • 同じ場合、戻り値は 0 になります。

次の例では、文字列を比較するための localeCompare() メソッドに焦点を当てます。

コードスニペット:

var string1 = 'apple';
var string2 = 'banana';
var string3 = 'banana';

console.log(string1.localeCompare(string2));
console.log(string2.localeCompare(string1));
console.log(string3.localeCompare(string2));

出力:

-1
1
0

JavaScript のユーザ定義関数で 2つの文字列を比較する

ここでは、2つの比較可能な文字列を引数として取る関数 compare を初期化しました。リターンケースを定義する条件付きセグメントもあります。その結果、ファンクションドライブに応じてリターンケースが返されます。

コードスニペット:

var string1 = 'apple';
var string2 = 'banana';
var string3 = 'banana';

function compare(string1, string2) {
  if (string1 < string2) {
    return -1;
  } else if (string1 > string2) {
    return 1;
  } else {
    return 0;
  }
}

console.log(compare(string1, string2));
console.log(compare(string2, string1));
console.log(compare(string2, string3));

出力:

-1
1
0