Página 1 de 1

Recorrer objetos en Javascript

NotaPublicado: 2009-09-21 17:23 @766
por lnx_hg
Hola, gente.

Tengo un problema: tengo que recorrer un objeto en javascript de varios niveles; lo estoy haciendo con un for in de la siguiente manera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
for MyVar in estacion {
   for MyVar2 in estation[MyVar] {
      alert(MyVar2) // en este nivel solo llego a propiedad_dinámica, pero no sé cómo llegar al valor
   }
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


El objeto es más o menos así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
var estacion = {
   ‘elemento_dinamico’: {
      ‘propiedad_dinamica1′ : ‘valor1′,
      ‘propiedad_dinamica2′ : ‘valor2′,
      ‘propiedad_dinamica3′ : ‘valor3′,
      ‘_blank’ : ‘_blank’
   },
   ‘elemento_dinamico2’: {
      ‘propiedad_dinamica1′ : ‘valor1′,
      ‘propiedad_dinamica2′ : ‘valor2′,
      ‘propiedad_dinamica3′ : ‘valor3′,
      ‘_blank’ : ‘_blank’
   },
‘_blank’ : ‘_blank’
};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Nota: este objeto se genera desde Perl para Javascript de manera dinámica, así que no puedo saber los elementos, propiedades y mucho menos los valores.

Si alguien tiene una idea, le agradecería su comentario.

Re: Recorrer objetos en Javascript

NotaPublicado: 2009-09-21 18:44 @822
por explorer
Has puesto 'estation', cuando es 'estacion', en el segundo for(in).

Sintáxis: [ Descargar ] [ Ocultar ]
Using javascript Syntax Highlighting
var Estacion = {
   "elemento_dinamico": {
      "propiedad_dinamica1": "valor1",
      "propiedad_dinamica2": "valor2",
      "propiedad_dinamica3": "valor3",
      "_blank": "_blank"
   },
   "elemento_dinamico2": {
      "propiedad_dinamica1": "valor4",
      "propiedad_dinamica2": "valor5",
      "propiedad_dinamica3": "valor6",
      "_blank": "_blank"
   },
   "_blank": "_blank"
};

// Directo:
// document.write(Estacion["elemento_dinamico2"]["propiedad_dinamica3"] + "<br><br>");

for (var Elemento  in Estacion          ) {
for (var Propiedad in Estacion[Elemento]) {
    document.write(
        Elemento + "." + Propiedad + ": " + Estacion[Elemento][Propiedad] + "<br>"
    );
}};
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Re: Recorrer objetos en Javascript

NotaPublicado: 2009-09-21 18:52 @828
por lnx_hg
MUCHAS GRACIAS, me has sacado de ésta y muchas más.

Por eso me encanta este sitio, espero poder regresar el favor colaborando aquí :D