Foros del Web » Programando para Internet » ASP Clásico »

Invertir Array

Estas en el tema de Invertir Array en el foro de ASP Clásico en Foros del Web. Existe alguna función para invertir un array en ASP??? Algo parecido a la funcion reverse() que tiene javascript...
  #1 (permalink)  
Antiguo 20/07/2004, 13:30
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 26
Antigüedad: 21 años, 7 meses
Puntos: 0
Invertir Array

Existe alguna función para invertir un array en ASP???
Algo parecido a la funcion reverse() que tiene javascript
  #2 (permalink)  
Antiguo 20/07/2004, 14:47
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
automáticamente, creo que no. aunque se me ocurre algo así:

for i = 0 to ubound(array)
nuevo_array(ubound(array) - i) = array(i)
next

no lo probé así que no se si funciona, pero debería :D
  #3 (permalink)  
Antiguo 20/07/2004, 15:28
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Bueno, ahora probado:

Código:
<%
arr = "1,2,3,4,5,6,7,8,9,10"
arr = split(arr, ",")

for i = 0 to ubound(arr)
redim preserve nuevo_arr(ubound(arr))
nuevo_arr(ubound(arr) - i) = arr(i)
next

arr = nuevo_arr

for x = 0 to ubound(arr)
response.write arr(x) & "<br>"
next
%>
  #4 (permalink)  
Antiguo 20/07/2004, 15:31
 
Fecha de Ingreso: octubre-2003
Ubicación: Santiago
Mensajes: 26
Antigüedad: 21 años, 7 meses
Puntos: 0
Gracias por la ayuda
  #5 (permalink)  
Antiguo 20/07/2004, 15:37
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
De nada




---------------------------
Microsoft Internet Explorer
---------------------------
El mensaje que has proporcionado es muy corto. Por favor extiende tu mensaje por lo menos a 10 caracteres.
---------------------------
Aceptar
---------------------------
  #6 (permalink)  
Antiguo 22/07/2004, 09:40
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
STRREVERSE (cadena)

Recibe como argumento una cadena (o variable que la contiene) y devuelve la cadena tras invertir el orden de todos los caracteres que la componen. Así pues, el primero de la cadena original será el último de la cadena resultante.
  #7 (permalink)  
Antiguo 22/07/2004, 10:19
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Si, pero fijate que no funciona bien para lo que juliolepez pide. Ejecutá esto y fijate los resultados:


Código:
<%
arr = "1,2,3,4,5,6,7,8,9,10"
'arr = split(arr, ",")


response.write "Original: " & arr
response.write "<br>"
response.write "Invertido: " & strreverse(arr)
%>

Bueno, para que no lo tengas que ejecutar, acá te lo pego y te muestro en rojo el por qué creo que no sirve:


Código:
Original: 1,2,3,4,5,6,7,8,9,10
Invertido: 01,9,8,7,6,5,4,3,2,1
saludos
  #8 (permalink)  
Antiguo 22/07/2004, 10:32
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Ups!!, perdon, me deje llevar por el "reverse() de javascript"
  #9 (permalink)  
Antiguo 22/07/2004, 13:27
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
Hola,
dazuaga, me podrias explicar el bucle:
Código:
<%
for i = 0 to ubound(arr)
redim preserve nuevo_arr(ubound(arr))
nuevo_arr(ubound(arr) - i) = arr(i)
next
%>
Muchas Gracias

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #10 (permalink)  
Antiguo 22/07/2004, 14:23
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Pues, ese bucle es el que hace todo.
Siguiendo el ejemplo...

arr(0) = 1
arr(1) = 2
arr(2) = 3
...
arr(9) = 10

entonces, mediante ese bucle, tenemos que:


-cuando i vale 0, ubound(arr)-i vale 9 (9-0=9).. entonces a nuevo_arr(9) le asigno el valor de arr(0)
-cuando i vale 1, ubound(arr)-i vale 8 (9-1=8).. entonces a nuevo_arr(8) le asigno el valor de arr(1)
-cuando i vale 2, ubound(arr)-i vale 7 (9-2=7).. entonces a nuevo_arr(7) le asigno el valor de arr(2)
...
-cuando i vale 9, ubound(arr)-i vale 0 (9-9=0).. entonces a nuevo_arr(0) le asigno el valor de arr(9)


En síntesis, le asigna al último elemento del array el primero del otro, luego le asigna al anteúltimo elemento el valor del segundo del otro, después le asigna al antepenúltimo lelemento el valor del tercero y así hasta que llega al final y le asigna al primer elemento el valor del último del otro array.

Si, la síntesis no quedó clara.. ¿no?
__________________
...___...

Última edición por AlZuwaga; 22/07/2004 a las 14:26
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:11.