Invertir una cadena en Javascript

16/Dic/2010 JavaScript , 1 Comentario

Vamos a ver como podemos invertir una cadena en Javascript. Para ello crearemos el método invertirCadena(). Este método recibirá la cadena origina y devolverá la cadena invertida.

  1. function invertir(cadena) {...}

Para invertir una cadena lo que vamos a hacer es recorrer carácter a carácter la cadena original y con estos caracteres ir componiendo una nueva cadena. La que será la cadena invertida.

Lo primero que debemos de hacer es saber el tamaño de la cadena. Esto nos lo dará el método .length. Ahora crearemos un método que itere por la cadena tantas veces como el tamaño de la cadena:

  1. var x = cadena.length;
  2.  
  3. while (x>=0) {
  4. x--;
  5. }

En cada vuelta del bucle y con el método .charAt() iremos componiendo la cadena invertida. Es decir, en la primera iteracción obtenemos el último carácter de la cadena y lo ponemos al principio de la cadena invertida, en la segunda iteracción obtenemos el penúltimo carácter y o ponemos como segundo carácter de la cadena invertida. Así hasta que hayamos recorrido la cadena por completo.

Recuerda que el método .charAt() recibe como parámetro la posición del carácter de la cadena que queremos leer.

Veamos como sería el código:

  1. var x = cadena.length;
  2. var cadenaInvertida = "";
  3.  
  4. while (x>=0) {
  5. cadenaInvertida = cadenaInvertida + cadena.charAt(x);
  6. x--;
  7. }

Ya solo nos queda devolver el contenido de cadenaInvertida para tener completo nuestro método que invierte una cadena con Javascript:

  1. function invertir(cadena) {
  2. var x = cadena.length;
  3. var cadenaInvertida = "";
  4.  
  5. while (x>=0) {
  6. cadenaInvertida = cadenaInvertida + cadena.charAt(x);
  7. x--;
  8. }
  9. return cadenaInvertida;
  10. }

Vídeos sobre Javascript


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*