Cadena es Anagrama

Beginner

This tutorial is from open-source community. Access the source code

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.