Chequeo de palíndromos en JavaScript: dos formas efectivas

Go to Homepage

Chequear palíndromos en JavaScript es más fácil de lo que parece

Chequear palíndromos en JavaScript es más fácil de lo que parece. Al trabajar en desarrollo web, uno suele encontrarse con la necesidad de validar si una palabra o frase es palíndromo. Un palíndromo es una palabra o frase que se lee igual al derecho y al revés, por ejemplo “radar” o “anita lava la tina”. Y afortunadamente, en JavaScript existen dos formas efectivas de hacer esta validación.

La primera forma es mediante el uso de un algoritmo que recorre la palabra o frase y compara el primer carácter con el último, el segundo con el penúltimo, y así sucesivamente hasta llegar al centro de la palabra. Este método es conocido como “algoritmo de doble puntero”. El algoritmo puede implementarse de la siguiente manera:

function esPalindromo(palabra) {
    let i = 0;
    let j = palabra.length - 1;

    while (i < j) {
        if (palabra[i] !== palabra[j]) {
            return false;
        }
        i++;
        j--;
    }

    return true;
}

Este código recorre la palabra o frase con dos punteros, uno al inicio y otro al final. Si los caracteres a los que apuntan son diferentes, la función retorna false. En caso contrario, se sigue recorriendo la palabra hasta que los punteros se crucen en el centro, momento en el que sabemos que la palabra es un palíndromo y la función retorna true.

La segunda forma de validar si una palabra o frase es palíndromo es convirtiéndola en un array, invirtiendo el orden de sus elementos y uniendo de nuevo los elementos del array en una cadena de texto. Si la cadena de texto resultante es igual a la cadena original, entonces la palabra o frase es un palíndromo. Este método se puede lograr mediante el uso de las funciones split(), reverse() y join(), de la siguiente manera:

function esPalindromo(palabra) {
    let palabraInvertida = palabra.split("").reverse().join("");

    return palabraInvertida === palabra;
}

Este código separa la palabra o frase en sus caracteres individuales con split(), invierte el orden de los caracteres con reverse(), y une de nuevo los caracteres en una cadena de texto con join(''). Por último, compara la cadena invertida con la cadena original para determinar si es palíndromo.

Ambos métodos son efectivos para validar palíndromos en JavaScript. La elección de uno u otro depende del contexto y preferencia personal. En mi experiencia en programación, he utilizado ambos métodos en distintos proyectos y siempre han resultado efectivos.

Chequear palíndromos en JavaScript es una tarea sencilla gracias a estos algoritmos y funciones. Tener la habilidad de validar palabras y frases palindrómicas puede ser útil en muchas situaciones de desarrollo web y enriquece nuestras habilidades como programadores.

Una forma simple de comprobar si una palabra es palíndromo en JavaScript

En el mundo de la programación, una de las pruebas más comunes que se pueden realizar es verificar si una palabra es palíndromo. Un palíndromo es una palabra o frase que se lee igual de izquierda a derecha que de derecha a izquierda.

Para comprobar si una palabra es palíndromo en JavaScript, se pueden utilizar varias formas, aunque una de las más simples es utilizando un algoritmo que verifica si la palabra se lee igual de izquierda a derecha y de derecha a izquierda.

Para hacer esto, se pueden seguir los siguientes pasos:

1. Convertir la palabra a minúsculas

Esto asegura que la comparación sea insensible a mayúsculas y minúsculas.

let palabra = "Ana";
palabra = palabra.toLowerCase();

2. Dividir la palabra en letras y colocarlas en un arreglo

Esto es necesario para poder leer la palabra en ambas direcciones.

let letras = palabra.split("");

3. Crear una copia de las letras en orden inverso.

let letrasInvertidas = letras.reverse();

4. Comprobar si las letras son iguales

Esto significa que la palabra es palíndromo.

if (letras.join("") === letrasInvertidas.join("")) {
    console.log("La palabra es un palíndromo");
} else {
    console.log("La palabra no es un palíndromo");
}

Este algoritmo es simple y efectivo, aunque también es posible utilizar otras implementaciones de validación de palíndromos en JavaScript, como por ejemplo, utilizar expresiones regulares.

Comprobar si una palabra es palíndromo en JavaScript es algo sencillo que se puede lograr mediante diferentes algoritmos. La implementación presentada es simple y requiere unas pocas líneas de código, lo cual puede ser muy útil para validar palabras y frases en aplicaciones de desarrollo web.

Otra opción para verificar palíndromos en JavaScript utilizando bucles y arrays

Además de la opción presentada anteriormente para validar palíndromos en JavaScript utilizando cadenas de texto y métodos de cadena, también existe una opción utilizando bucles y arrays.

Para implementar este enfoque, primero debemos convertir la cadena de texto a un array de caracteres. Para lograr esto podemos utilizar la función split de JavaScript. Por ejemplo, si tenemos la cadena “radar”, podemos convertirla a un array de caracteres de la siguiente manera:

const str = "radar";
const chars = str.split("");
console.log(chars); // ["r", "a", "d", "a", "r"]

Una vez obtenido el array de caracteres, podemos crear un bucle que recorra el array verificando si cada par de caracteres opuestos es idéntico. Para lograr esto podemos utilizar una variable de posición que apunte al inicio del array y otra variable de posición que apunte al final del array. En cada iteración, comparamos los caracteres en ambas posiciones y actualizamos las variables de posición para que nos acerquemos al centro del array.

function isPalindrome(str) {
    const chars = str.split("");
    let leftPos = 0;
    let rightPos = chars.length - 1;
    while (leftPos < rightPos) {
        if (chars[leftPos] !== chars[rightPos]) {
            return false;
        }
        leftPos++;
        rightPos--;
    }
    return true;
}

console.log(isPalindrome("radar")); // true
console.log(isPalindrome("hello")); // false

De esta manera, hemos logrado validar si una cadena de texto es un palíndromo utilizando bucles y arrays en JavaScript.

Este enfoque puede resultar más eficiente en casos de cadenas de texto muy largas, ya que no se está creando una nueva cadena de texto ni se utilizan métodos de cadena que pueden ser más costosos. Sin embargo, ambos enfoques son igualmente válidos y efectivos para validar palíndromos en JavaScript.

Validar palíndromos en JavaScript es una tarea sencilla gracias a las herramientas que nos proporciona el lenguaje, como los métodos de cadena y los arrays. Depende de cada programador elegir el enfoque que mejor se adapte a su código fuente y sus necesidades específicas de desarrollo web.

Otros Artículos