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

【JavaScript】最初の文字列が指定した文字列で始まる場合にtrueを返す方法

JavaScriptでは、2つの文字列を受け取り、最初の文字列が2番目の文字列で始まっているかどうかを判定する関数を簡単に作成できます。

処理の内容

例えば、以下のような2つの文字列が与えられたとします。

1つ目の文字列:「Disaster management report」
2つ目の文字列:「Disas」

この場合、1つ目の文字列は「Disas」で始まっているため、関数は true を返す必要があります。

実装例

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

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

const startsWith = (first, second) => {
    const { length } = second;
    const sub = first.substr(0, length);
    return sub === second;
};

console.log(startsWith(first, second));

コードの解説

まず、second の文字数(length)を取得します。次に、first.substr(0, length) によって、first の先頭からその文字数分だけ部分文字列を切り出します。最後に、切り出した文字列が second と完全に一致するかどうかを比較演算子 === で判定しています。

出力結果

コンソールには以下のように表示されます。

true

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

なお、ES2015(ES6)以降では、標準の String.prototype.startsWith() メソッドを使うことで、よりシンプルに同じ処理を実現できます。

const result = first.startsWith(second);
console.log(result); // true

新しいプロジェクトでは、こちらの組み込みメソッドを利用するのがおすすめです。古いブラウザ環境をサポートする必要がある場合は、上記のような自作関数によるフォールバックが有効です。

  1. JavaScriptで特定の文字列の順序に従って文字列を並べ替える方法

    問題 2つの文字列 str1 と str2 を第1・第2引数として受け取るJavaScript関数を作成する必要があります。 この関数は、str1 を str2 に含まれる文字の出現順序に従って並べ替えます。 例えば、関数への入力が以下の場合を考えてみましょう。 入力 const str1 = coding; const str2 = gncabdi; 出力 const output = gncdio; 出力の説明 str2 の中で先に現れる文字が優先的に前に配置され、その後に後から現れる文字が続きます。そして最後に、str2 に存在しない残りの文字がそのまま並べられます。 解決のアプローチ

  2. 【Python・NumPy】numpy.char.startswith()で文字列がプレフィックスで始まるか判定するブール配列の取得方法

    配列内の文字列要素が指定したプレフィックス(接頭辞)で始まる位置においてTrueとなるブール配列を返すには、Python NumPyのnumpy.char.startswith()メソッドを使用します。第1引数には入力配列を、第2引数には判定対象のプレフィックスを指定します。実行手順まず、必要なライブラリをインポートします。import numpy as np1次元の文字列配列を作成します。arr = np.array([KATIE, JOHN, KATE, KmY, BRAD])作成した配列を表示します。print(Array...\n, arr)配列のデータ型を確認します。print(\n