Foros del Web » Programando para Internet » Javascript »

Arrays en JavaScript

Estas en el tema de Arrays en JavaScript en el foro de Javascript en Foros del Web. Hola otra vez!! Estoy haciendo los manuales de http://www.w3schools.com y tengo una duda sobre los arrays. Para declarar un array en JavaScript se hace así, ...
  #1 (permalink)  
Antiguo 22/07/2004, 03:48
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 20 años
Puntos: 1
Pregunta Arrays en JavaScript

Hola otra vez!!
Estoy haciendo los manuales de http://www.w3schools.com y tengo una duda sobre los arrays. Para declarar un array en JavaScript se hace así, según el manual:

Código HTML:
<script type="text/javascript">
var pais = new Array(6)
pais[0] = "Espana"
pais[1] = "Francia"
pais[2] = "Italia"
pais[3] = "Portugal"
</script> 
Pero, ¿qué pasaría si quiero, además indicar que en españa hay españoles?
En php, utilizaba una cosa parecida a esta:
Código PHP:
<?
$paises 
= array();
$paises[espana] = "espanoles";
$paises[italia] = "italianos";
$paises[francia] = "franceses";
$paises[portugal] = "portugueses";
echo 
$paises[espana];
?>
Cómo sería con JavaScript? He intentado hacer esto, pero no funciona:
Código HTML:
<script type="text/javascript">
paises = new array ();
paises[espana] = "espanoles";
paises[italia] = "italianos";
paises[francia] = "franceses";
paises[portugal] = "portugueses";
document.write paises[espana];
</script> 
Gracias de antemano
  #2 (permalink)  
Antiguo 22/07/2004, 04:14
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
En mi caso uso una función constructora

function paises(pais,gente){
this.pais = pais
this.gente = gente
}
Y luego entonces hago un array de objetos paises

var p = new Array()
p[0] = new paises('España','Españoles')
p[1] = new paises('Francia','Franceses')
p[2] = new paises('Italia','Italianos')

Y luego puedes pedir...

p[2].pais devolverá Italia y p[2].gente devolverá italianos

Otra sería guardar en cada posición del array un españa=españoles, italia=italianos etc. Al pedirle pais[0] devolvería el par completo españa=españoles entonces habrías de hacer un split('=') y pedirle pais[0].split('=')[0] para que te devolviera españa y un pais[0].split('=')[1] para que te devolviera españoles.

Pero la forma más limpia de hacerlo es la primera
  #3 (permalink)  
Antiguo 22/07/2004, 04:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola jorge_368:

<script type="text/javascript">
paises = new Array ();
paises["espana"] = "espanoles";
paises["italia"] = "italianos";
paises["francia"] = "franceses";
paises["portugal"] = "portugueses";
document.write (paises["espana"]);
</script>

Sintaxis... entrecomillado... Array...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 22/07/2004, 04:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Tunait :

Tanto tiempo sin chocar...

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 22/07/2004, 04:21
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
ole, nunca lo he usado yo así
  #6 (permalink)  
Antiguo 22/07/2004, 04:21
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Cita:
Iniciado por caricatos
Tunait :

Tanto tiempo sin chocar...

Saludetes
jeje sip, participo tán poco últimamente
  #7 (permalink)  
Antiguo 22/07/2004, 04:37
 
Fecha de Ingreso: mayo-2004
Mensajes: 89
Antigüedad: 20 años
Puntos: 1
Muchas gracias por todo!!
Hasta otra
  #8 (permalink)  
Antiguo 23/07/2004, 03:56
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por tunait
ole, nunca lo he usado yo así
Otro apunte sobre los arrays asociativos con javascript:
Para recorrerlos con un bucle se usa "in" en el for...

<script type="text/javascript">
paises = new Array ();
paises["espana"] = "espanoles";
paises["italia"] = "italianos";
paises["francia"] = "franceses";
paises["portugal"] = "portugueses";
dato = "";
for (elemento in paises) dato += paises[elemento] + ", " + elemento + "<br />";
document.write (dato);
</script>

Saludetes
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 23/07/2004, 07:20
muchaorgia
Invitado
 
Mensajes: n/a
Puntos:
Y si...

Y si el array fuera con paginas web, seria:
<script type="text/javascript">
var pais = new Array(6)
pais[0] = "www.a.com"
pais[1] = "www.b.com"
pais[2] = "www.c.com"
pais[3] = "www.d.com"
</script>
¿Como podria cargar una pagina web con el array, es decir no tener que escribir el titulo sino utilizar el array?, ya que podria cargarse una pagina desitinta cada vez de forma aleatoria.
Gracias
  #10 (permalink)  
Antiguo 23/07/2004, 07:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola muchaorgia:

La verdad es que la pregunta hubiera sido mejor hacerla en un tema aparte, porque se trata de otro tipo de array y de otra cuestión... tan solo sería generar el índice aleatoriamente y redireccionar con el evento onload del body...

Yo he contestado alguna vez esa pregunta... te recomiendo que te animes a usar el buscador por ejemplo con "enlace aleatorio" o algo así...

Si no encuentras nada, procuraré buscarlo yo (ahora tengo poco tiempo)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 00:19.