Counting occurrences of vowel, consonants - JavaScript


We are required to write a JavaScript function that takes in a string which contains English alphabet, for example −

const str = 'This is a sample string, will be used to collect some data';

The function should return an object containing the count of vowels and consonants in the string i.e. the output should be −

{ vowels: 17, consonants: 29 }

Example

Following is the code −

const str = 'This is a sample string, will be used to collect some data';
const countAlpha = str => {
   return str.split('').reduce((acc, val) => {
      const legend = 'aeiou';
      let { vowels, consonants } = acc;
      if(val.toLowerCase() === val.toUpperCase()){
         return acc;
      };
      if(legend.includes(val.toLowerCase())){
         vowels++;
      }else{
         consonants++;
      };
      return { vowels, consonants };
   }, {
      vowels: 0,
      consonants: 0
   });
};
console.log(countAlpha(str));

Output

This will produce the following output in console −

{ vowels: 17, consonants: 29 }

Updated on: 30-Sep-2020

377 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements