Foros del Web » Programando para Internet » Javascript »

Crear arrays en funcion de 1parámetro

Estas en el tema de Crear arrays en funcion de 1parámetro en el foro de Javascript en Foros del Web. Hola: Me gustaría que me dierais ideas sobre como hacer para conseguir crear por ejemplo 4arrays si la variable i vale 3, cada uno con ...
  #1 (permalink)  
Antiguo 17/06/2010, 15:42
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Crear arrays en funcion de 1parámetro

Hola:

Me gustaría que me dierais ideas sobre como hacer para conseguir crear por ejemplo 4arrays si la variable i vale 3, cada uno con un nombre distinto, es decir:
Código Javascript:
Ver original
  1. var i=0;
  2. var tempHoras = new Array();
  3. var tempMinutos = new Array();
  4. var tempSegundos = new Array();
  5. var tempTipo = new Array();
  6.  
  7. //conseguir crear con un bucle, 3 de cada, algo asi:
  8.  
  9. var tempHoras1 = new Array();
  10. var tempMinutos1 = new Array();
  11. var tempSegundos1 = new Array();
  12. var tempTipo1 = new Array();
  13. var tempHoras2 = new Array();
  14. var tempMinutos2 = new Array();
  15. var tempSegundos2 = new Array();
  16. var tempTipo2 = new Array();
  17. var tempHoras3 = new Array();
  18. var tempMinutos3 = new Array();
  19. var tempSegundos3 = new Array();
  20. var tempTipo3 = new Array();

No se me ocurre como, espero vuestras propuestas!! muchas gracias a todos.
  #2 (permalink)  
Antiguo 18/06/2010, 02:08
Avatar de dreamkarkayu  
Fecha de Ingreso: junio-2010
Mensajes: 22
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Crear arrays en funcion de 1parámetro

A ver si te vale esto:

Código:
var fin = ...; //valor de tope que tu pongas

var tempHoras = new Array();
var tempMinutos = new Array();
var tempSegundos = new Array();
var tempTipo = new Array();

//conseguir crear con un bucle, 3 de cada, algo asi:

for (i=1; i<=fin;i++){

var tempHoras+i = new Array();
var tempMinutos+i = new Array();
var tempSegundos+i = new Array();
}
Un saludo
  #3 (permalink)  
Antiguo 18/06/2010, 12:11
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Crear arrays en funcion de 1parámetro

Hola,

he estado probando lo que me has puesto, pero creo que no va He puesto lo siguiente:
Código Javascript:
Ver original
  1. for (i=0; i < 2; i++){
  2.     var tempHoras+i = new Array();
  3. }
  4.        
  5. tempHoras0[0] = "PRUEBA";

pero no me funciona... paso el tempHoras0 al javascript externo por parametro en una funcion y no me lo coje bien, en cambio si hago esto:
Código Javascript:
Ver original
  1. var prueba = new Array();
  2. prueba[0] = "holaaaaaaaaaaaaaaaaa";

Si paso el array prueba, si que me va bien! ayudaaaaaaaaaaaaaaaaaa!!!!
  #4 (permalink)  
Antiguo 18/06/2010, 13:01
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Crear arrays en funcion de 1parámetro

Hola

Prueba así

Código Javascript:
Ver original
  1. var tempHoras = new Array();
  2. var tempMinutos = new Array();
  3. var tempSegundos = new Array();
  4. var tempTipo = new Array();
  5.  
  6. for(i=0; i < 3; i++) {
  7. tempHoras[i] = new Array('hola1','hola2','hola3');
  8. tempMinutos[i] = new Array();
  9. tempSegundos[i] = new Array();
  10. tempTipo[i] = new Array();
  11. }
  12.  
  13. document.write(tempHoras[0][0] + ' - ' + tempHoras[1][1]  + ' - ' + tempHoras[2][2]);

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 18/06/2010, 13:16
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Crear arrays en funcion de 1parámetro

No entiendo lo que me has puesto... La idea es crear n arrays de cada uno, por ejemplo:

Si n=2, pues conseguir tempHoras1 y tempHoras2 (por ejemplo).
  #6 (permalink)  
Antiguo 18/06/2010, 14:12
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Crear arrays en funcion de 1parámetro

Hola

Es lo que se está haciendo, pero con arrays bidemensionales

Cita:
var tempHoras = new Array();
tempHoras[0]=new Array('hola1');
tempHoras[1]=new Array('hola2');
tempHoras[2]=new Array('hola3');

document.write(tempHoras[0][0] + ' - ' + tempHoras[1][0] + ' - ' + tempHoras[2][0]);
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 20/06/2010, 10:25
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Crear arrays en funcion de 1parámetro

He probado lo que me has puesto pero no me funciona, no se si es que no lo pongo bien o que.

Mi idea es crear tantos array como el numero maximo que se desee:
for (i=0; i < 2; i++){
var tempHoras+i = new Array(); //lo he probado asi y no me iva, nose si esta bien
}

Me gustaría crear tempHoras0 y tempHoras1.
  #8 (permalink)  
Antiguo 20/06/2010, 13:52
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Crear arrays en funcion de 1parámetro

Hola

Tal y como lo pretendes hacer no es posible

Código Javascript:
Ver original
  1. for(i=0; i < 3; i++) {
  2. tempHoras[i] = new Array();
  3. tempMinutos[i] = new Array();
  4. tempSegundos[i] = new Array();
  5. tempTipo[i] = new Array();
  6. }

Esto generará

Cita:
tempHoras[0] = new Array();
tempMinutos[0] = new Array();
tempSegundos[0] = new Array();
tempTipo[0] = new Array();

tempHoras[1] = new Array();
tempMinutos[1] = new Array();
tempSegundos[1] = new Array();
tempTipo[1] = new Array();

tempHoras[2] = new Array();
tempMinutos[2] = new Array();
tempSegundos[2] = new Array();
tempTipo[2] = new Array();
En caso que quieras acceder al array que te he marcado en negrita, usa tempMinutos[1]

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 21/06/2010, 08:58
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Crear arrays en funcion de 1parámetro

Gracias tio, al final lo que pienso que es mejor es crear un array e ir introduciendo dentro todos los valores:
Código Javascript:
Ver original
  1. for(j=0; j < 2; j++){
  2.     msg_text[j] = document.getElementById("msg_text"+j);
  3.     alert(msg_text[j]);
  4. }

La cosa esta en ("msg_text"+j) esta bien, si lo que quiero es conseguir que coja msg_text0 y msg_text1????
También he probado asi: msg_text[j] = document.getElementById("msg_text"+str(j)); pero tampoco me va...

Última edición por galorn; 21/06/2010 a las 09:09
  #10 (permalink)  
Antiguo 21/06/2010, 09:56
 
Fecha de Ingreso: abril-2010
Ubicación: L'Hospitalet de LLobregat
Mensajes: 43
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Crear arrays en funcion de 1parámetro

La solucion, poner dentro del for:
Código Javascript:
Ver original
  1. mensaje = "msg_text"+j;
  2. msg_text[j] = document.getElementById(mensaje);
teniendo en cuenta que mensaje y msg_text estan declarados arriba.
  #11 (permalink)  
Antiguo 21/06/2010, 12:58
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Crear arrays en funcion de 1parámetro

Hola

Realmente no veo la diferencia entre esto msg_text[j] = document.getElementById("msg_text"+j); y esto otro
msg_text[j] = document.getElementById(mensaje);

Por cierto no le estás dando ningún valor a los subindices. Solamente se inserta algo como elementInputHTML, o algo así

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />

Etiquetas: arrays, funcion
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 19:44.