JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

【JavaScript入門】文字列が指定した文字列で終わっているかどうかを判定する方法

JavaScriptでは、2つの文字列(string1string2)を受け取り、string1string2 で終わっているかどうかを判定する関数を実装することができます。

動作イメージ

たとえば、次のようなケースを考えてみましょう。

"The game is on"
この場合、「on」で終わっているので true を返すべき

一方、次の例では false を返します。

"the game is off"
この場合、「of」で終わっていないため false を返すべき

実装コード

それでは、実際にコードを書いてみましょう。ここでは、substr() メソッドを使って末尾の部分文字列を取り出し、比較する方法を採用しています。

const first = 'The game is on';
const second = ' on';

const endsWith = (first, second) => {
    const { length } = second;
    const { length: l } = first;
    const sub = first.substr(l - length, length);
    return sub === second;
};

console.log(endsWith(first, second));
console.log(endsWith(first, ' off'));

コードの解説

  • まず、second の文字数を取得し、first の長さとの差分から切り出し開始位置を計算します。
  • substr(l - length, length) によって、first の末尾から second と同じ長さの部分文字列を取り出します。
  • 取り出した部分文字列が second と完全一致する場合は true、そうでなければ false を返します。

実行結果

コンソールには次のように出力されます。

true
false

補足:endsWith() メソッドを使う方法

なお、ES2015以降では標準組み込みメソッドの String.prototype.endsWith() を使えば、同様の処理を1行で実現できます。

console.log(first.endsWith(' on'));   // true
console.log(first.endsWith(' off'));  // false

独自に関数を実装することで文字列操作への理解が深まりますが、実務では可読性・保守性の観点から endsWith() の利用が推奨されます。

  1. JavaScriptでボタンがクリックされたかどうかを判定する方法

    JavaScriptを使えば、ボタンがクリックされたかどうかを簡単に判定できます。最も一般的な方法は、addEventListener()メソッドでクリックイベントを監視することです。以下に、ボタンのクリックを検出し、クリックされた回数を画面に表示するサンプルコードを紹介します。 サンプルコード <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1

  2. 【JavaScript】Enterキーが押されたかどうかを判定してコンソールに結果を表示する方法

    onkeypressイベントでEnterキーの押下を検出するEnterキーが押されたかどうかを判定し、その結果をコンソールに出力するには、onkeypressイベントを使用します。まず、テキスト入力ボックスを作成してみましょう。<input id="textBox" type="text" onkeypress="return demoForEnterKey(event)"/>続いて、demoForEnterKey()関数の実装方法を見ていきましょう。Enterキーが押されたかどうかは、イベントオブジェクトのkeyCode