Cadena es Anagrama

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") subgraph Lab Skills javascript/variables -.-> lab-28409{{"Cadena es Anagrama"}} javascript/data_types -.-> lab-28409{{"Cadena es Anagrama"}} javascript/arith_ops -.-> lab-28409{{"Cadena es Anagrama"}} javascript/comp_ops -.-> lab-28409{{"Cadena es Anagrama"}} end

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.