I Want To Find Vowel Occurences In Javascript Using Switch Statement
I want to write a function with a switch statement to count the number of occurrences of any two vowels in succession in a line of text. For example, in the sentence For example: O
Solution 1:
You can use a regex to find amount of occurrences.
Original string: Pleases read this application and give me gratuity
Occurences: ea, ea, io, ui
Result: 4
Regex:
[aeiou]
means any of these characters.{2}
exactly 2 of them (change to{2,}
if you wanna match 2 or more characters in a row)g
don't stop after the first match (change togi
if you want to make it case insensitive)
functionfindOccurrences() {
var str = "Pleases read this application and give me gratuity";
var res = str.match(/[aeiou]{2}/g);
return res ? res.length : 0;
}
var found = findOccurrences();
console.log(found);
EDIT: with switch
statement
functionfindOccurrences() {
var str = "Pleases read this application and give me gratuity";
var chars = str.toLowerCase().split("");
var count = 0;
// Loop over every characterfor(let i = 0; i < chars.length - 1; i++) {
var char = chars[i];
var next = chars[i + 1];
// Increase count if both characters are any of the following: aeiouif(isCorrectCharacter(char) && isCorrectCharacter(next)) {
count++
}
}
return count;
}
// Check if a character is any of the following: aeioufunctionisCorrectCharacter(char) {
switch (char) {
case'a':
case'e':
case'i':
case'o':
case'u':
returntrue;
default:
returnfalse;
}
}
var found = findOccurrences();
console.log(found);
Solution 2:
If you insist on using switch you'd also need a loop and a flag to mark if you have seen a vowel already.
functionfindOccurrences() {
var str = "Pleases read this application and give me gratuity";
var count = 0;
let haveSeenVowel = false;
for (const letter of str.toLowerCase()) {
switch (letter) {
case'a':
case'e':
case'i':
case'o':
case'u':
{
if (haveSeenVowel) {
count++;
haveSeenVowel = false;
} else {
haveSeenVowel = true;
}
break;
}
default:
haveSeenVowel = false
}
}
return count
}
console.log(findOccurrences());
Solution 3:
function findOccurances(str){
var words = str.split(" ");
var count=0;
for(var i=0;i<words.length;i++){
for(var j=0; j<words[i].length; j++){
varchar = words[i].slice(j,j+1).toLowerCase();
var nextChar = words[i].slice(j+1,j+2).toLowerCase();
switch(char){
case"a":
case"e":
case"i":
case"o":
case"u":
switch(nextChar){
case"a":
case"e":
case"i":
case"o":
case"u":
count++;
}
}
}
}
return count;
}
var str = "Pleases read this application and give me gratuity";
var count = findOccurances(str);
alert(count);
Post a Comment for "I Want To Find Vowel Occurences In Javascript Using Switch Statement"