El objetivo es obtener un número n del usuario, luego obtener n palabras del usuario y mostrar el recuento de caracteres de vocales de cada palabra en la consola. Pero no obtiene los conteos correctos. #JS #vocal
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]); }elimine el símbolo de zanahoria de la expresión regular e intente:
function getVowels(str) { var m = str.toString().match(/[aeiou]/gi); return m === null ? 0 : m.length; }; console.log(getVowels("testme123"));Después de eliminar su símbolo de zanahoria, debe limpiar un poco su código (no se estaba ejecutando en 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]); }