ProgramingWeb

Verificar si una expresión es un palindromo con javascript

El diccionario define como palindromo a una palabra o expresión que es igual si se lee de izquierda a derecha que de derecha a izquierda. En el siguiente tutorial vamos a hacer una función que compruebe si una expresión es palindrome o no.

Escribiendo la función palindrome checker en javascript .

function palindromeChecker(str) {
  const strReversed = str.split("").reverse().join("")

  return strReversed === str ? "es palindromo" : "no es palindromo"
}
console.log(palindromeChecker("oso")) // es palindromo
console.log(palindromeChecker("hola")) // no es palindromo
console.log(palindromeChecker("omo")) // es palindromo
  • Primero creamos la función, definiendo que debe recibir un string.
  • Creamos la constante strReversed, en la que guardaremos el string revertido.
  • .split(''), lo separa en un array.
  • .reverse() revierte el arreglo.
  • .join('') Lo vuelve a convertir en string.
  • Por ultimo usando el operador ternario, indicamos que si ambas cadenas son iguales devuelva 'es palindromo', y si no 'no es palindromo'

Con esto podríamos dar el ejercicio por terminado pero aún falta algo, la función anterior solo sirve para palabras, si necesitamos verificar que alguna frase sea palindroma el código anterior no funcionara, así que vamos a agregarle algunas cositas a nuestro ejemplo.

function palindromeChecker(str) {
  const newStr = str.replace(/[\W_]/g, "").toLowerCase()
  const strReversed = newStr.split("").reverse().join("")

  return newStr === strReversed ? "es palindromo" : "no es palindromo"
}

console.log(palindromeChecker("Ali tomo tila")) // es palindromo
console.log(palindromeChecker("Amad a la dama")) // es palindromo
console.log(palindromeChecker("otra cosa")) // no es palindromo
  • Lo que hemos echo es agregar una nueva constante que guarda el valor del string pero eliminando los espacios, gracias a la expresión regular que pasamos dentro del método .replace(), también lo convertimos en minúsculas.

  • La constante strReversed es igual a la anterior solo que esta vez se crea a partir de el valor de newStr.

Ahora si el ejercicio esta terminado, puedes ver el código en el siguiente enlace. Espero haberte ayudado y gracias por leerme.