2010-02-17 18 views
7

¿Alguien sabe cómo puedo ordenar palabras en una cadena usando javascript, jquery.Invertir palabras en una cadena

Por ejemplo tengo esto:

var words = "1 3 2" 

Ahora quiero darle la vuelta a esto:

var words = "2 3 1" 

Gracias

+3

¿Está la clasificación, o invertir? No hay suficientes valores para contar. – Sampson

+0

En mi caso, necesito revertir – user270158

Respuesta

12

Suponiendo que está invirtiendo (estoy seguro de que esto todavía ayudará si no lo está).

var original = '1 3 2'; 
var reversed = original.split(' ').reverse().join(' '); 
+0

Funciona. Genial y simple. Gracias – user270158

+0

Si tuviera la cadena "132", esta solución no funcionaría porque no habría espacios para dividir. Sin embargo, si todo lo que hace es ordenar los números en el formato de su pregunta, sí, esta solución es más simple. –

+1

@ChrisTek: En ese caso, podría hacer 'string.split (''). Reverse(). Join ('' ''; ''). Podrías hacer eso de todos modos, incluso para la cadena de ejemplos dada. –

5

Ésta es la idea básica, no hay necesidad de importar jQuery:

var words = "1 3 2" 

var i=words.length; 
i=i-1; 

var reversedwords=""; 
for (var x = i; x >=0; x--) 
{ 
    reversedwords +=(words.charAt(x)); 
} 

alert(reversedwords) // "2 3 1" 

Esto también funcionaría en la inversión de la cadena "cadena" en "gnirts"

+0

Chris tiene razón, no necesita jQuery para esto. – aefxx

+0

lo siento, esto es genial, pero en mi caso necesito invertir la cadena – user270158

+0

, por favor, mira el código actualizado ... esto hará el truco –

Cuestiones relacionadas