Buscador de anagramas en JavaScript

Muhammad Muzammil Hussain 12 octubre 2023
  1. El concepto de anagrama
  2. Buscador de anagramas en JavaScript
Buscador de anagramas en JavaScript

En este artículo, aprenderemos el concepto de anagrama en JavaScript. Aprenderemos cómo verificar si una cadena es un anagrama de otra cadena en JavaScript.

El concepto de anagrama

Dos palabras o cadenas que tienen los mismos caracteres con los mismos números se conocen como palabras de anagrama. La longitud de una palabra también debe ser la misma.

Usando palabras de anagrama, podemos reorganizar los caracteres de una palabra para generar otra. Aquí hay algunos ejemplos de palabras de anagrama:

  1. escucha y silencio
  2. triángulo e integral
  3. los ojos y ellos ven

Como sabemos, podemos reorganizar los caracteres de una palabra y transformar la segunda palabra con la ayuda de un algoritmo.

Buscador de anagramas en JavaScript

En JavaScript, podemos crear un programa para verificar si dos palabras o cadenas son un anagrama entre sí o no. Podemos crear una función que pueda verificar si las palabras son anagramas y devolver el resultado booleano como verdadero o falso.

Primero, debemos ordenar ambas cadenas y comparar la cadena ordenada para averiguar si son idénticas.

El siguiente ejemplo usará un programa JavaScript para realizar un algoritmo de verificación de anagramas para dos palabras. Usaremos los métodos predeterminados de JavaScript split(), sort() y join() para verificar las palabras proporcionadas.

El método split() se usa para dividir los caracteres de la cadena y generar una matriz de caracteres. El método sort() se utiliza para ordenar la matriz de elementos.

El método join() se usa para unir la matriz de elementos y generar una cadena de elementos.

function checkAnagram(word1, word2) {
  let length1 = word1.length;
  let length2 = word2.length;
  if (length1 !== length2) {
    console.log(word1 + ' and ' + word2 + ' lengths did not match!');
    return
  }
  let wordA = word1.split('').sort().join('');
  let wordB = word2.split('').sort().join('');

  if (wordA === wordB) {
    console.log(word1 + ' and ' + word2 + ' are anagram to each other');
  } else {
    console.log(word1 + ' and ' + word2 + ' are not anagram to each other');
  }
}

let word1 = 'silent';
let word2 = 'listen';

checkAnagram(word1, word2)

word1 = 'shouts'

checkAnagram(word1, word2)

Producción :

"silent and listen are anagram to each other"
"shouts and listen are not anagram to each other"

Como se muestra arriba, declaramos una función de tipo let checkAnagram() en la que tomaremos palabras como parámetro. Dentro de esa función, hemos usado una declaración condicional en palabras pasadas.

Usando una declaración condicional, primero hemos verificado si la longitud de ambas palabras es igual o no. Si no, mostramos el mensaje longitudes no coinciden en los registros.

Luego, usamos split(), sort() y join() en las palabras pasadas para realizar la clasificación de las palabras y almacenar las palabras ordenadas en variables separadas word1 y word2.

Luego, debemos verificar si los valores de ambas variables son iguales o no usando la declaración condicional if-else. Si es igual, las palabras son un anagrama; si no, las palabras no son un anagrama.

Inicializamos dos palabras, silent y listen, y las pasamos a la función checkAnagram() como argumento, actualizamos la word1 y volvimos a llamar a checkAnagram().

El método console.log() mostraba el resultado en registros. Puede copiar y guardar el código fuente anterior y usar el compilador de JavaScript para ver el resultado.

Artículo relacionado - JavaScript String