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

【JavaScript】文字列配列に含まれる母音の数を数える方法

はじめに

本記事では、文字列の配列(要素は1文字の場合もあれば、複数文字の場合もあります)を受け取り、その配列に含まれるすべての母音(a・e・i・o・u)の個数を数えるJavaScript関数の作成方法を解説します。

実装例

まずは、実際に動作するコードを見てみましょう。

const arr = ['Amy','Dolly','Jason','Madison','Patricia'];
const countVowels = (arr = []) => {
   const legend = 'aeiou';
   const isVowel = c => legend.includes(c);
   let count = 0;
   arr.forEach(el => {
      for(let i = 0; i < el.length; i++){
         if(isVowel(el[i])){
            count++;
         };
      };
   });
   return count;
};
console.log(countVowels(arr));

出力結果

このコードをコンソールで実行すると、次のように出力されます。

10

コードの解説

処理の流れはシンプルで、以下のステップで構成されています。

  • legend:母音となる文字「aeiou」を定義した基準文字列です。
  • isVowelString.prototype.includes() を使って、渡された1文字が母音かどうかを判定するヘルパー関数です。
  • forEach:配列の各文字列に対し、1文字ずつ順番にチェックし、母音であればカウントを増やします。

注意点:大文字・小文字の扱い

includes() は大文字と小文字を区別するため、上記のコードでは「Amy」の先頭にある大文字「A」は母音としてカウントされません。大文字も正しくカウントしたい場合は、判定前に小文字へ変換しておくのがおすすめです。

const isVowel = c => legend.includes(c.toLowerCase());

このように1行変更するだけで、大文字・小文字を問わずすべての母音を正確に数えられるようになります。

  1. JavaScriptで配列内の紛らわしい数(Confusing Number)を見つける方法

    紛らわしい数(Confusing Numbers)とは? 配列内のある数値が「紛らわしい数」とみなされるのは、その数値を上下左右に180度回転した結果が、同じ配列内に存在する別の数値になる場合です。たとえば、6を180度回転すると9になり、逆に9を回転すると6になります。 ただし注意が必要なのは、180度回転しても有効な数字として成立するのは 0、1、6、8、9 の5種類だけという点です。2、3、4、5、7 を含む数値は、回転しても正しい数として扱うことができません。 今回求められているのは、自然数 num を第1引数(唯一の引数)として受け取るJavaScript関数を作成することです。この

  2. JavaScriptで数値を反転して桁ごとの配列に分割する方法

    問題概要数値を1つ受け取るJavaScriptの関数を作成する必要があります。この関数は、まず受け取った数値を反転させ、その反転した数値を1桁ずつに分割して、その配列を返すものとします。入力const num = 1234567;出力const output = [7, 6, 5, 4, 3, 2, 1];これは、反転後の数値が7654321になるためです。実装例以下がそのコードです。const num = 1234567; const reverseAndSplit = (num = 1) => {    const numStr = String(num); &n