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

JavaScriptで文字列に含まれる母音の数を数えて返す方法

ここでは、アルファベットを含む可能性のある文字列を引数として受け取り、その文字列の中に存在する母音(a・e・i・o・u)の個数を数えて返すJavaScript関数の作成方法を解説します。

実装のポイントは以下の通りです。

  • 大文字・小文字の違いを吸収するため、toLowerCase()で文字列をすべて小文字に変換します。
  • 母音の一覧「aeiou」を判定基準(legend)として用意します。
  • 文字列を1文字ずつループで走査し、母音リストに含まれる文字であればカウントを増やします。

サンプルコード

以下が実際のコード例です。

const str = 'this is a string';
const countVowels = (str = '') => {
   str = str.toLowerCase();
   const legend = 'aeiou';
   let count = 0;
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(!legend.includes(el)){
         continue;
      };
      count++;
   };
   return count;
};
console.log(countVowels(str));

コードの解説

countVowels関数は、デフォルト引数として空文字列を持つため、引数なしで呼び出されてもエラーにならない安全な設計です。ループ処理ではincludes()メソッドを使って各文字が母音かどうかを判定し、母音以外の文字はcontinueでスキップします。

出力結果

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

4

「this is a string」という文字列には「i」「i」「a」「i」の4つの母音が含まれているため、結果は4となります。

  1. JavaScriptで文字列のシフト操作を効率的に実行する方法

    問題の概要小文字の英字で構成される文字列 str と、配列の配列 arr が与えられているとします。ここで arr[i] = [direction, amount] の形式でシフト操作が表されます。direction は 0(左シフト)または 1(右シフト)を表します。amount は文字列をシフトする回数です。1回の左シフトとは、文字列の先頭の文字を取り除いて末尾に追加することを意味します。同様に、1回の右シフトとは、文字列の末尾の文字を取り除いて先頭に追加することを意味します。ここで求められているのは、文字列を第1引数として、シフト操作のデータを含む配列を第2引数として受け取るJavaSc

  2. マジックストリング(魔法の文字列)問題をJavaScriptで解く方法

    マジックストリングの問題概要マジックストリング(魔法の文字列)とは、「1」と「2」だけから構成され、次の性質を持つ特別な文字列です。この文字列が「マジック(魔法)」と呼ばれるのは、連続する「1」や「2」のかたまり(グループ)ごとの出現回数をつなぎ合わせると、元の文字列そのものが再現されるからです。文字列 str の最初の部分は次のようになっています。str = 1221121221221121122……str 内の連続した「1」「2」をそれぞれグループに分けると、次のようになります。1 22 11 2 1 22 1 22 11 2 11 22 ……さらに、各グループにおける「1」または「2」の