The goal is to get a number n from the user then get n words from the user and show each word vowel char count in the console. But it doesn't get the counts correct. #JS #vowel
let n = prompt('Enter the number:');
let wordList = [];
let vowelCounter = [];
let stringWordList = '';
for (i = 0; i < n; i++) {
wordList.push(prompt((i + 1) + 'Word #'))
}
debugger
function getVowels(str) {
var m = str.toString().match(/[aeiou]/gi);
return m === null ? 0 : m.length;
};
/*function vowelCount(str) {
return str.toString().replace(/[^aeiou]/gi, "").length;*/
};
for (i = 0; i < n; i++) {
stringWordList = wordList[i].toString
vowelCounter.push(getVowels(stringWordList));
console.log(wordList[i] + ':' + vowelCounter[i]);
}
remove the carrot symbol from the regex and try:
function getVowels(str) {
var m = str.toString().match(/[aeiou]/gi);
return m === null ? 0 : m.length;
};
console.log(getVowels("testme123"));
After removing your carrot symbol, you need to clean a bit your code (was not running on JSFIDDLE):
let n = prompt('Enter the number:');
let wordList = [];
let vowelCounter = [];
let stringWordList = '';
for (i = 0; i < n; i++) {
wordList.push(prompt((i + 1) + 'Word #'))
}
//debugger
function getVowels(myString) {
var m = myString.match(/[aeiou]/gi);
return m === null ? 0 : m.length;
}
/*function vowelCount(str) {
return str.toString().replace(/[^aeiou]/gi, "").length;*/
for (i = 0; i < n; i++) {
stringWordList = wordList[i].toString();
vowelCounter.push(getVowels(stringWordList));
console.log(wordList[i] + ':' + vowelCounter[i]);
}