Solution and explanation
First thing that came to my mind was to use two loops: one for the consonants and the other for the vowels. Obviously, that’s not the cleanest way. My goal was to loop through the given string just once.
In the below code s is the input. I have created a variable called vowels which is initialized with the vowels existing in English. The loop uses it to check whether specific letter from the given string is a vowel. The other variable, consonants, has different purpose. I used it to store all the consonants that are found while looping through the input (s).
What happens is this:
- the program is looping through every letter in the string (for (let letter of s));
- it checks if current letter is a vowel (vowels.includes(letter)); if yes, it prints it in the new line;
- if the current letter is not a vowel, is added to consonants (consonants += letter + ‘\n’;); there is also a new line character at the and of each letter so I can print them later in a new line each;
- after the loop consonants are printed (console.log(consonants);).