Estoy tratando de extraer algunas vocales de una matriz usando el método .filte() pero el código no continúa en las siguientes letras después de encontrar instancias de la primera letra. El resultado esperado es ['a','a',' i'] pero solo muestra ['a','a'] Aquí está el código
function vowelsAndConsonants(s) { const letters = s.toString().split(""); console.log(letters); let vowels = letters.filter((letter) => { return letter.includes("a", "e", "i", "o", "u"); }); console.log(vowels); } vowelsAndConsonants("javascript");Aquí hay una forma de obtener las vocales.
function vowelsAndConsonants(s) { const letters = s.toString().split(""); let vowels = letters.filter((letter) => { return ['a', 'e', 'i', 'o', 'u'].indexOf(letter) !== -1 }); console.log(vowels); } vowelsAndConsonants("javascript");El método de inclusión solo puede tener un argumento, consulte este sitio web , la forma más fácil de probar es probar el valor con un if:
const vowels = letters.filter((letter) => { if (letter === "a" || letter === "e" || letter === "i" || letter === "o" || letter === "u" || letter === "y") return (letter); return(""); });También puede usar expresiones regulares.
function vowelsAndConsonants(s) { const letters = s.toString().split(""); console.log(letters); let vowels = letters.filter((letter) => { return /[aeiou]/.test(letter); }); console.log(vowels); } vowelsAndConsonants("javascript");