Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created March 12, 2019 00:57
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/2691c461564b819d336612ed7ecf1b01 to your computer and use it in GitHub Desktop.
Save parzibyte/2691c461564b819d336612ed7ecf1b01 to your computer and use it in GitHub Desktop.
/**
* Función que indica si una cadena es Pangrama en JavaScript
*
* @author parzibyte
*/
const esPangrama = cadena => {
const ALFABETO_MINUSCULAS = "abcdefghijklmnñopqrstuvwxy";
// Convertir a minúsculas
cadena = cadena.toLowerCase();
let alfabetoComoArreglo = Array.from(ALFABETO_MINUSCULAS);
// Recorrer alfabeto
for (let indice = 0; indice < alfabetoComoArreglo.length; indice++) {
let letraActual = alfabetoComoArreglo[indice];
// En caso de que la cadena NO contenga la letra, regresamos false de una vez
if (!cadena.includes(letraActual)) return false;
}
// Se termina el ciclo y no se rompió arriba, ¡así que la cadena es pangrama!
return true;
};
// Probar método
const CADENAS_PARA_PROBAR = [
"El cadáver de Wamba, rey godo de España, fue exhumado y trasladado en una caja de zinc que pesó un kilo", // No
"Hola", // No
"aeiou", // No
"parzibyte", // No
"abcdefghijklmnñopqrstuvwxyz", // Sí
"El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja", // Sí,
"abcdefghijklmnopqrstuvwxyz", // No, porque no lleva ñ
"Mi hijo degustó en el festival de bayas una extraña pizza de kiwi con queso", // Sí
];
CADENAS_PARA_PROBAR.forEach(cadena => {
console.log(`¿'${cadena}' es pangrama? ${esPangrama(cadena)}`);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment