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

JavaScriptで特定の文字が繰り返される回数を出力するにはどうすればよいですか?

JavaScriptで文字列の中に特定の文字が何回出現するかを調べる最もシンプルな方法は、文字列を1文字ずつ反復処理し、該当する文字が見つかるたびにカウントを増やしていくことです。

実装例

let s = "hello world!";
let searchChar = "l";
let count = 0;
for(let i = 0; i < s.length; i++) {
    if(s[i] == searchChar) {
        count++;
    }
}
console.log(count);

コードの解説

このコードでは、まず対象となる文字列 s と検索したい文字 searchChar を定義し、カウント用の変数 count を0で初期化しています。続いてforループで文字列の先頭から末尾まで1文字ずつ確認し、s[i] が検索対象の文字と一致した場合に count を1ずつ増加させています。

出力結果

3

"hello world!" の中には "l" が3回含まれているため、コンソールには「3」が出力されます。

別の方法:split() を使う

より簡潔に書きたい場合は、split() メソッドを利用する方法もあります。

let s = "hello world!";
let count = s.split("l").length - 1;
console.log(count); // 3

split() で指定した文字を区切りとして文字列を配列に分割すると、「配列の要素数 − 1」がその文字の出現回数になります。短いコードで済むため、手軽にカウントしたい場合に便利です。

  1. JavaScriptでUnicode番号から文字を取得する方法

    JavaScriptでUnicode番号(文字コード)から対応する文字を取得するには、String.fromCharCode()メソッドを使用します。このメソッドは、指定されたUnicodeの数値を文字に変換して返します。構文String.fromCharCode(整数値)ここで指定する整数値が、変換対象となるUnicode番号です。サンプルコード以下は実際に動作を確認できるコード例です。var letters = ABCDEFGH; for (var i = 0; i < letters.length; i++) { console.log(letters[i] + = + lett

  2. JavaScriptで配列内の最頻値とその出現回数を求める方法

    JavaScriptでは、リテラル(数値や文字列など)を含む配列を受け取り、その中で最も多く登場する要素(最頻値)と、それが何回繰り返されているかを出力する関数を書くことができます。実装の考え方この処理は、配列の reduce() メソッドを使うことで効率的に実装できます。各要素の出現回数をオブジェクトに記録しながら走査し、同時に最大出現回数を持つ要素を追跡します。同じ出現回数の要素が複数ある場合は、それらすべてを配列に格納して返すようにしています。コード例実際のコードは以下のとおりです。 count[acc[0]]) { return [val]; }