ProgramingWeb

¿Cómo invertir una cadena en javascript ?

Invertir un string en js es muy sencillo a continuación aprenderás dos formas muy sencilla de lograr este propósito.

Primero crearemos una función personalizada para invertir una cadena en javascript que recibe como parámetro una cadena de texto y debe devolver ese texto invertido.

const string = 'Parangaricutirimucuaro'

function reverseString(str){
  let arrStr = str.split('')

  return arrStr.reverse().join('')
}

reverseString(string) // esto retorna 'oraucumirituciragnaraP'

Declaramos la cadena ‘Parangaricutirimucuaro’ esto es un trabalenguas muy usado en mi país, creamos la función reverseString que recibe como argumento un string. dentro de la función convertimos el texto en un arreglo y luego retornamos el valor usando el metodo .reverse() para invertir sus caracteres eso devolverá un arreglo, para que devuelva una cadena hay que agregar el metodo .join('').

Invertir palabra usando ES6 con funciones flecha

Con el estándar ES6 la función anterior es mucho mas sencilla, ya que solo ocuparía una linea

const palabra = 'Parangaricutirimucuaro'
const reverseString = str => str.split('').reverse().join('') 
reverseString(string) // esto retorna 'oraucumirituciragnaraP'

Técnicamente las funciones anteriores lo que hacen es crear una nuevo string, por que las cadenas en js son inmutables.

Revertir string usando un ciclo for

La forma anterior es sencilla y eficiente, pero a veces en una entrevista de trabajo nos pueden poner a prueba, y debemos resolver este problema pero en vez de usar la función .reverse() tenemos que hacerlo usando un ciclo. A continuación te muestro como hacerlo con el ciclo for.

const string = 'Parangaricutirimucuaro'

function reverseStringFor(str){

  let arrStr = str.split('')
  let arrReverse = []
  
  for(let i = arrStr.length ; i >= 0; --i ) {
    arrReverse.push(arrStr[i])
  }

  return arrReverse.join('')

}

reverseStringFor(string) // esto retorna 'oraucumirituciragnaraP'

-Dentro de la función convertimos la cadena en un arreglo, declaramos una variable arrReverse como un arreglo vacio.

-Ejecutamos un ciclo for declarando i como el valor de la longitud de la arrStr variable, establecemos la condicion i >= 0 que parara el ciclo cuando llegue a ese valor, y luego establecemos –i para que el valor de i disminuya en cada vuelta del ciclo.

arrReverse.push(arrStr[i])

-añade el valor al arreglo arrReverse usando .push(), Luego retornamos el valor de arrReverse convirtiéndolo en una cadena con .join('').

Espero que este tutorial te halla resultado útil y muchas gracias por leerme.