Funciones puras
Una función a la que le pasemos una cadena y nos devuelva la palabra más larga
masLarga(‘hola que tal estamos’)-> ‘estamos’
Una función a la que le pasemos una cadena y nos cuente las consonantes
consonantes(‘praga’)->3
Una función a la que le pasemos una cadena y nos devuelva la palabra con más consonantes
masConsonantes(‘praga es guay’)->’praga’
function masLarga (cadena) { // Si yo tengo una cadena y quiero las palabras lo primero es obtenerlas const palabras = cadena.split(' ') // Necesitaré algún sitio donde guardar la palabra más larga let larga = '' // Recorrer la lista de palabras a ver cual es la de mayor longitud for (let i = 0; i < palabras.length; i++) { // Si la longitud de la palabra actual es mayor que la que tengo if (palabras[i].length > larga.length) { larga = palabras[i] } } return larga } function masLargaSort (cadena) { const palabras = cadena.split(' ') palabras.sort((a, b) => b.length - a.length) return palabras[0] } function consonantes (cadena) { const vocales = vocales2(cadena) return cadena.length - vocales } // 'praga' split('') letra a letra slice/substr/subtring cadena[i] function consonantes2 (cadena) { const cons = 'bcdfghjklmnñpqrstvwxyz' cadena = cadena.toLowerCase() let total = 0 for (let i = 0; i < cadena.length; i++) { // Si la letra está dentro de mis consonantes if (cons.indexOf(cadena.slice(i, i + 1)) > -1) { total++ } } return total } function consonantesReg (cadena) { cadena = cadena.replace(/[^bcdfghjklmnñpqrstvwxyz]/gi, '') // cadena = cadena.replace(/[aeiou]/gi, '') return cadena.length } function masConsonantes (cadena) { // Si yo tengo una cadena y quiero las palabras lo primero es obtenerlas const palabras = cadena.split(' ') // Necesitaré algún sitio donde guardar la palabra con más consonantes let masC = '' // Recorrer la lista de palabras a ver cual es la de mayor longitud for (let i = 0; i < palabras.length; i++) { // Si las consoncantes de la palabra actual son más que la que tengo if (consonantesReg(palabras[i]) > consonantesReg(masC)) { masC = palabras[i] } } return masC } function masConsonantesSort (cadena) { const palabras = cadena.split(' ') palabras.sort((a, b) => consonantesReg(b) - consonantesReg(a)) return palabras[0] } function vocales2 (cadena) { const vocal = ['a', 'e', 'i', 'o', 'u'] total = 0 for (const v of vocal) { total += apariciones(cadena, v) } return total } function apariciones (cadena, buscar) { let cont = 0 let pos = cadena.indexOf(buscar) while (pos > -1) { cont++ pos = cadena.indexOf(buscar, pos + 1) } return cont }