Ya vimos cómo invertir una cadena o palabra en C y en Arduino.

Ahora vamos a ver cómo rotar una cadena en JavaScript utilizando dos maneras o funciones.

Las cadenas en JavaScript son inmutables y no son parecidas a las de C. Es decir, en C son arreglos de caracteres pero en JavaScript no. Por lo tanto, para invertir una cadena en JavaScript tenemos que crear una nueva cadena.

Ya sea que llamemos a una función que regrese una nueva cadena o que creemos una, al final sí podremos lograr nuestro objetivo, y podrá invertir cadenas, palabras, oraciones completas y texto.

Método 1 para invertir una cadena en JS

Este método es conocido por todos pero no lo veo muy explicativo o rápido, sería de probar su rendimiento.

Lo que hacemos es convertir la cadena a arreglo con split, seguido a eso vamos a invertir ese arreglo (con el método reverse) y luego convertirlo de nuevo a cadena uniendo los elementos del arreglo con join.

Como lo dije, es un poco sucio pero igual funciona. Así quedaría:

const invertirCadena = cadena => cadena.split("").reverse().join("");
 
let cadena = "Hola";
console.log("Cadena:", invertirCadena(cadena));

Ya expliqué arriba lo que hace esto. Estás viendo en acción una función flecha y el uso de const en JavaScript.

Rotar cadena en JavaScript: método 2

Este método es más complicado si lo queremos ver de ese modo, pero al final nos queda una mayor satisfacción.

Recibimos la cadena y creamos aparte una nueva. Recorremos la cadena desde su fin hasta su inicio, tomamos el carácter y lo anexamos a la cadena inicial.

/**
 * Invertir una cadena en JS
 * @author parzibyte
 *  */
const invertirCadena = cadena => {
    let nuevaCadena = "";
    for (let x = cadena.length - 1; x >= 0; x--) {
        nuevaCadena += cadena[x];
    }
    return nuevaCadena;
}

Esto es porque no podemos modificar directamente una cadena (intercambiando sus caracteres) pero sí podemos crear una nueva y añadirle contenido para invertir una cadena o palabra en JavaScript.

Probar método para rotar cadena

Recordemos que la cadena puede venir de cualquier lugar; por ejemplo del valor de un input o cualquier otra cosa.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto