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

【JavaScript】forループとcontinue文を使って文中の特定文字の出現回数を数える方法

本記事では、JavaScriptのforループとcontinue文を活用して、文中に特定の文字が何回出現しているかを数える関数の作成方法を解説します。

実装例

まず、対象となる文字列と、文字の出現回数をカウントする関数のコードを見てみましょう。

const string = 'This is just an example string for the program';

const countAppearances = (str, char) => {
    let count = 0;
    for(let i = 0; i < str.length; i++){
        // 一致しない場合は次の反復へスキップ
        if(str[i] !== char){
            continue;
        };
        // ここに到達するのは str[i] と char が一致した場合のみ
        // そのためカウントを増やす
        count++;
    };
    return count;
};

console.log(countAppearances(string, 'a'));
console.log(countAppearances(string, 'e'));
console.log(countAppearances(string, 's'));

コードの解説

この関数の仕組みを順を追って説明します。

  • 初期化:変数count0で初期化し、一致した文字の個数をここに記録していきます。
  • ループ処理:forループにより、文字列の先頭から末尾まで1文字ずつ順番にチェックします。
  • continue文の役割:現在の文字str[i]が引数charと一致しない場合、continue文によって以降の処理をスキップし、すぐに次の反復へ移行します。これにより、不要な処理を省き、コードの意図が明確になります。
  • カウントアップ:一致した場合のみcount++が実行され、出現回数が1つずつ加算されていきます。
  • 戻り値:ループが完了した時点で、最終的な出現回数を返します。

なお、タイトルにあるbreak文について補足すると、breakはループ自体を完全に脱出するための構文です。今回のように「文字列全体を走査して数えたい」ケースでは、途中で中断する必要がないためbreakは使用しません。逆に「最初に一致した位置だけ知りたい」場合などにはbreakが有効です。

出力結果

上記のコードを実行すると、コンソールには以下のように表示されます。

3
3
4

それぞれ、文字「a」が3回、「e」が3回、「s」が4回出現していることを示しています。

  1. JavaScriptのforループをフローチャートで図解!仕組みと基本構文をわかりやすく解説

    JavaScriptのforループとは? JavaScriptにおける「for」ループは、同じ処理を繰り返し実行するための基本的な制御構造です。forループは主に3つの要素で構成されており、それぞれが明確な役割を持っています。 1. ループの初期化 まず最初にループの初期化が行われます。ここでは、カウンターとして使う変数に開始値を設定します。この初期化文は、ループ本体が始まる前に一度だけ実行されるのが特徴です。 2. 条件判定(テスト文) 次に条件判定が行われ、指定された条件が真(true)かどうかが評価されます。条件がtrueであれば、ループ内に記述されたコードが実行されます。一方、fa

  2. JavaScriptのループを停止する方法|clearInterval()の使い方を解説

    JavaScriptでsetInterval()によって繰り返し実行されている処理(ループ)を停止したい場合は、clearInterval()を使用します。setInterval()は指定した間隔ごとに関数を繰り返し呼び出すメソッドですが、そのままでは無限に処理が続いてしまいます。そこで、あらかじめ戻り値として取得したタイマーIDをclearInterval()に渡すことで、ループを任意のタイミングで止めることができます。コード例以下は、一定回数スクロール処理を繰り返した後にループを停止するサンプルコードです。<!DOCTYPE html> <html lang="