Estoy haciendo un desafío en Hackerrank, la tarea es buscar vocales y consonantes en una cadena e imprimir ambas (ordenadas) en líneas separadas. Puedo imprimir bien las vocales, pero no puedo hacer lo mismo con las consonantes. No los generará. Aquí está mi código:
const vowels = 'aeiou' var consonants = [] for (var i=0;i<s.length;i++) { if(vowels.includes(s[i])) {console.log(s[i]) } else { consonants+= s[i] + '\n' } } }Simplemente puede lograrlo usando el método regex y string.match() .
Demostración en vivo :
const str = "Separate the vowels and consonants from a string"; const vowels = str.match(/[aeiou]/gi); const consonants = str.match(/[^aeiou]/gi); console.log(vowels); console.log(consonants);Puede usar expresiones regulares y string.match() para dividir las vocales y las consonantes. como esto
const s = "hello World"; const [vowels, consonants] = [s.match(/[aiueo]/gi), s.match(/[^aiueo\s]/gi)]; vowels.forEach(o => console.log("vowels => "+o)) consonants.forEach(o => console.log("consonants => "+o))