Introducción
En este laboratorio, exploraremos cómo comprobar si una cadena dada es un anagrama de otra cadena. Un anagrama es una palabra o frase formada al reordenar las letras de otra, como "iceman" y "cinema". Usaremos JavaScript para crear una función que tome dos cadenas como argumentos y devuelva un valor booleano que indique si son anagramas el uno del otro o no.
Función de JavaScript para Comprobar si una Cadena es un Anagrama
Para comprobar si una cadena es un anagrama de otra cadena, utiliza la siguiente función de JavaScript. Es insensible a mayúsculas y minúsculas y ignora espacios, signos de puntuación y caracteres especiales.
const isAnagram = (str1, str2) => {
const normalize = (str) =>
str
.toLowerCase()
.replace(/[^a-z0-9]/gi, "")
.split("")
.sort()
.join("");
return normalize(str1) === normalize(str2);
};
Para usar la función, abre la Terminal/SSH y escribe node. Luego, llama a la función con dos cadenas como argumentos:
isAnagram("iceman", "cinema"); // true
La función utiliza String.prototype.toLowerCase() y String.prototype.replace() con una expresión regular adecuada para eliminar los caracteres innecesarios. También utiliza String.prototype.split(), Array.prototype.sort() y Array.prototype.join() en ambas cadenas para normalizarlas y comprobar si sus formas normalizadas son iguales.
Resumen
¡Felicitaciones! Has completado el laboratorio de Cadena es Anagrama. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.