Foros del Web » Programando para Internet » Javascript »

como ordeno este array bidimensional?

Estas en el tema de como ordeno este array bidimensional? en el foro de Javascript en Foros del Web. tengo lo siguiente: Código: <script language="javascript" type="text/javascript"> datos=new Array(5); for(i=0;i<=5;i++) datos[i]=new Array(2); datos[0][1] = "Computacion"; datos[1][2] = "Audio"; datos[2][3] = "Subwoofers"; datos[2][4] = "Tarjetas Sonido"; ...
  #1 (permalink)  
Antiguo 22/05/2009, 13:14
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta como ordeno este array bidimensional?

tengo lo siguiente:

Código:
<script language="javascript" type="text/javascript">
datos=new Array(5);
for(i=0;i<=5;i++) datos[i]=new Array(2);
datos[0][1] = "Computacion"; 
datos[1][2] = "Audio"; 
datos[2][3] = "Subwoofers"; 
datos[2][4] = "Tarjetas Sonido"; 
datos[0][5] = "Regalos"; 
datos[5][6] = "Ninos"; 
datos[4][7] = "Sound1";
</script>
y hay una relacion entre el primer y segundo valor numerico del array entre corchetes.
esos datos fueron sacados de una base de datos y lo que necesito es poder ordenar esos datos con algun bucle quizas de la siguiente forma:

datos[id_referencia][id_categoria]

datos[0][1] = "Computacion";
datos[1][2] = "Audio";
datos[2][3] = "Subwoofers";
datos[2][4] = "Tarjetas Sonido";
datos[4][7] = "Sound1";
datos[0][5] = "Regalos";
datos[5][6] = "Ninos";

si ven la relacion del codigo, deberia imprimir lo siguiente:

Computacion
- Audio
-- Subwoofers
-- Tarjeta Sonido
--- Sound1

Regalos
- Ninos

He creado mil bucles y no logro hacer el orden. no se si tenga que ocupar algun tipo de programación como recursividad, pero no lo manejo...

Les agredecia mucho su ayuda.
__________________
Rodrigo Lopez
  #2 (permalink)  
Antiguo 22/05/2009, 13:55
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: como ordeno este array bidimensional?

Lo que pasa es que tu array se va hacioendo más profundo en ciertos indices y por lo tanto se complica un poco el asunto, yo en tulugar usaría distintos arrays y despues los combinaría dinamicamente dependiendo de lo que se quiera hacer. Para que es que necesitas crear ese array? de donde obtienes los datos?
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 22/05/2009, 14:08
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: como ordeno este array bidimensional?

los obtengo de una base de datos de esta tabla:

| id_cat | id_cat_sup | nombre |
---------------------------------------
| 1 | 0 | Computacion |
| 2 | 1 | Audio |
| 3 | 2 | Subwoofers |
| 4 | 2 | Tarjetas Sonido |
| 5 | 0 | Regalos |
| 6 | 5 | Ninos |
| 7 | 4 | Sound1 |

si te fijas es para subcategorias multiples. y la consulta a la base de datos para sacar los nombres en el orden que quiero es mas complejo, tonces se me ocurrio hacer la relacion entre el id_cat y el id_cat_sup que hace referencia a que id_cat pertenece.
__________________
Rodrigo Lopez
  #4 (permalink)  
Antiguo 22/05/2009, 14:16
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: como ordeno este array bidimensional?

Me da la impresión que solo estás usando una tabla cuando deberías estar usando como minimo dos, pero no me voy a meter en eso, no quiero crearte un problema más en lugar de resolverte el que ya tienes.

Puedes hacer diferentes peticiones a la base de datos. Por ejemplo:

Código SQL:
Ver original
  1. SELECT nombre FROM tutabla WHERE id_cat_sup = 2
De esa manera obtienes todos los elementos que pertenecen a Audio y puedes crear un array exlusivo para esos elementos, eso te drá más control sobre tus array y te dara la posibilidad de hacer una app más poderosa y flexible.

Saludos.

PD. Toma en serio lo que te digo en cuanto a tu BBDD, si estás haciendo lo que creo que estás haciendo, protno tu BBDD se convertirá en una pesadilla.
__________________
twitter: @imbuzu
  #5 (permalink)  
Antiguo 22/05/2009, 14:25
 
Fecha de Ingreso: diciembre-2002
Ubicación: arica 3334
Mensajes: 75
Antigüedad: 21 años, 4 meses
Puntos: 0
Respuesta: como ordeno este array bidimensional?

he pensado en todos esos casos...
lo de 2 tablas es imposible pk es para subcategorias multiples. lo hice en referencia a oscommerce incluso.
el problema pasa por hacer un algoritmo recursivo para poder ir tomando los valores en el orden correcto, pero no puedo llegar a la solucion aun.
__________________
Rodrigo Lopez
  #6 (permalink)  
Antiguo 22/05/2009, 15:18
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: como ordeno este array bidimensional?

si es para subcategorías múltiples, usa loockup tables. Claro, eso es solo una sugerencia. Si decides dejarlo como lo tienes, haz como te digo, varias peticiones para contruir arrays diferentes para cada categoría. Te será mucho mejor manejarlos de esa manera.
__________________
twitter: @imbuzu
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 14:29.