Llevo intentando saber como poder sacar las propiedades de un objeto que esta a la vez dentro de otro objeto.
Esto viene a raiz del libro de Rama "Desarrollo de aplicaciones web del lado del cliente"
var concesionario_atocha = new Concesionario('281','Madrid','Pedro Bravo');
var mi_coche = new Coche('Citroen','C4','2010',concesionario_atocha);
Por medio de un for..in puedo sacar las propiedades de un objeto en este caso 'mi_coche'
Mi pregunta es :
¿ Còmo puedo sacar las propiedades del objeto 'concesionario_atocha' al que pertenece como propiedad del objeto 'mi_coche' mediante
un bucle for..in , for , while o mediante una función.. ?
Cierto , la falta de sueño , las prisas ... se me olvido poner ese detalle que es la pieza importante de todo el asunto.
Mi pregunta era sacar todos esos valores de la propiedad del objeto concesionario_atocha desde un bucle iterativo.
Esta son las soluciones que me otorgaron unas buenas personas.
for (var key in mi_coche.concesionario) {
if (mi_coche.concesionario.hasOwnProperty(key)) {
document.write(mi_coche.concesionario[key]);
document.write('');
}
}
// Prueba con condicionales
for (var key in mi_coche.concesionario) {
document.write(mi_coche.concesionario[key]);
if (mi_coche.concesionario[key] == "Madrid") {
document.write('');
document.write('Viva Madrid');
document.write('');
}
}
document.write('');
Muchas gracias por vuestra paciencia , molestia y ayuda.
Si lo que quieres es un bucle, esto también funciona:
> for(var value in mi_coche.concesionario) {
... console.log(value, mi_coche.concesionario[value])
... }
cod_oficina 281
ciudad Madrid
responsabilidad Pedro Bravo
Llevo intentando saber como poder sacar las propiedades de un objeto que esta a la vez dentro de otro objeto.
Esto viene a raiz del libro de Rama "Desarrollo de aplicaciones web del lado del cliente"
El codigo es el siguiente.
1º tenemos el objeto :
function Concesionario(cod_oficina_in,ciudad_in,responsabilidad_in)
this.cod_oficina = cod_oficina_in;
this.ciudad = ciudad_in;
this.responsabilidad = responsabilidad_in;
}
function Coche(marca_in,modelo_in,anyo_in , concesionario_in)
this.cod_oficina = marca_in;
this.ciudad = modelo_in;
this.responsabilidad = anyo_in;
this.concesionario = concesionario_in;
}
var concesionario_atocha = new Concesionario('281','Madrid','Pedro Bravo');
var mi_coche = new Coche('Citroen','C4','2010',concesionario_atocha);
Por medio de un for..in puedo sacar las propiedades de un objeto en este caso 'mi_coche'
Mi pregunta es :
¿ Còmo puedo sacar las propiedades del objeto 'concesionario_atocha' al que pertenece como propiedad del objeto 'mi_coche' mediante
un bucle for..in , for , while o mediante una función.. ?
Ni mi profesores de programación saben hacerlo.
Gracias por vuestra atención.
22/02/2017 18:01
> mi_coche.concesionario
Concesionario {
cod_oficina: '281',
ciudad: 'Madrid',
responsabilidad: 'Pedro Bravo' }
> mi_coche.concesionario.cod_oficina
'281'
> mi_coche.concesionario.ciudad
'Madrid'
> mi_coche.concesionario.responsabilidad
'Pedro Bravo'
Lo único que veo es que en tu código tienes mal esta función:
function Coche(marca_in,modelo_in,anyo_in)
Debería ser:
function Coche(marca_in,modelo_in,anyo_in, concesionario_in) {
Pero todo lo demás es correcto.
26/02/2017 22:36
Mi pregunta era sacar todos esos valores de la propiedad del objeto concesionario_atocha desde un bucle iterativo.
Esta son las soluciones que me otorgaron unas buenas personas.
for (var key in mi_coche.concesionario) {
if (mi_coche.concesionario.hasOwnProperty(key)) {
document.write(mi_coche.concesionario[key]);
document.write('');
}
}
// Prueba con condicionales
for (var key in mi_coche.concesionario) {
document.write(mi_coche.concesionario[key]);
if (mi_coche.concesionario[key] == "Madrid") {
document.write('');
document.write('Viva Madrid');
document.write('');
}
}
document.write('');
Muchas gracias por vuestra paciencia , molestia y ayuda.
22/02/2017 18:02
22/02/2017 18:04
> for(var value in mi_coche.concesionario) {
... console.log(value, mi_coche.concesionario[value])
... }
cod_oficina 281
ciudad Madrid
responsabilidad Pedro Bravo
26/02/2017 22:40