JavaScript - duda ejercicio

 
Vista:
sin imagen de perfil

duda ejercicio

Publicado por javi (29 intervenciones) el 01/11/2016 01:55:31
Crea un objeto “Concesionario” que almacene: el nombre del concesionario, la dirección, un array “comanda” para almacenar los Coches pedidos, las funciones “setNombre”y “setDireccion” que permitan establecer el nombre y la dirección del concesionario, y una función “addComanda” que permita añadir un Coche a l’array “comanda”.

Una vez realizada la clase “Concesionario” y “Coche”, deberá ser capaz de validar el siguiente código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*Código de comprovación de Concesionario*/
var myConcesionario= new Concesionario();
myConcesionario.setNombre("Mario Kart");
myConcesionario.setDireccion("c/Mushroom Kingdom 1");
 
var coche = new Coche();
coche.nombre="Fantastico!";
coche.precio="70000€";
var numExtra = coche.addExtra("Airbag");
 
var posicionComanda = myConcesionario.addComanda(coche);
 
document.write('<br />Nombre Concesionario: ');
document.write(myConcesionario.nombre);
document.write('<br />Direccion: ');
document.write(myConcesionario.direccion);
document.write('<br /> Nombre coche: ');
document.write(myConcesionario.comanda[posicionComanda-1].nombre);
document.write('<br /> Nombre extra: ');
document.write(myConcesionario.comanda

Mostrando por pantalla el siguiente texto:
Nombre Concesionario: Mario Kart
Dirección: c/Mushroom Kingdom 1
Nombre coche: Fantastico!
Nombre extra: Airbag



Este es mi parte de codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function Concesionario() {
 
    this.nombre;
    this.direccion;
    this.comanda = new Array();
 
 
    this.setNombre = function (nombre) {
 
        this.nombre = nombre;
 
    };
 
    this.setDireccion = function (direccion) {
 
        this.direccion = direccion;
 
    };
 
 
    this.addComanda = function () {
 
     this.comanda.push(coche);
                  //añado un coche al array comanda//
 
    };
 
 
 
}

Creo que el problema lo tengo en la funcion this,addComanda, aunque se ve bien, añade un elemento al array Comanda,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Miguel Angel
Val: 12
Ha aumentado su posición en 8 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

duda ejercicio

Publicado por Miguel Angel (7 intervenciones) el 01/11/2016 15:12:08
Este ejercicio soy incapaz de resolverlo, siempre me da el mismo error y lo he intentado de varias maneras, creo que el principal problema es que no me esta creando el array de comanda, y por ende, no me lo vincula con la función coche anterior, agradecería ayuda, estoy muy perdido, mi código es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var myConcesionario = new Concesionario();
 
function Concesionario(){
    this.nombre;
    this.direccion;
    this.comanda=[];
    this.setNombre = function(nombre){
        this.nombre = nombre;
    };
    this.setDireccion =function(direccion){
        this.direccion = direccion;
    };
    this.addComanda = function(){
        this.comanda.push(coche);
    };
}
Las dos primeras me las devuelve sin problema, pero cuando llega a la linea
document.write(myConcesionario.comanda[posicionComanda -1].modelo);
es donde se para y da error, ¿porque?
Lo he intentado como en el otro ejercicio, el de crear el coche, que por fin me sale, y ahí en la función getExtra que crea el Array de extras lo puse:
1
2
this.getExtra = function(){
    return this.extra[0];
tal y como sugirió un compañero en el otro ejercicio y me funciono, me crea el Array al que luego llamo por la posición, pero en este segundo ejercicio he probado igual y nada de nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

duda ejercicio

Publicado por javier (29 intervenciones) el 01/11/2016 17:37:28
Llevo un rato intentandolo pero no hay manera, y por lo que ha comentado el profesor, no lo entiendo muy bien , añadir un elemento al array facil

this.comanda.puesh(coche), pero luego devolver la posicion en la que se ha añadido el elemento, he usado indexOf pero nada,
creo que seria algo asi como return this.comanda[posicion], pero no me a funcionado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

duda ejercicio

Publicado por xve (2100 intervenciones) el 01/11/2016 18:50:01
Hola Javier despues de comentarlo en el chat, adjunto aquí el resultado funcionando!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html>
<head>
</head>
 
<body>
<script>
function Concesionario(nombre, direccion) {
 
	this.nombre = nombre;
	this.direccion = direccion;
	this.comanda = new Array();
 
	this.setNombre = function (nombre) {
 
		this.nombre = nombre;
 
	};
 
	this.setDireccion = function (direccion) {
 
		this.direccion = direccion;
 
	};
 
 
	this.addComanda = function () {
 
		this.comanda.push(coche);//añado un coche al array comanda//
 
		return this.comanda.length-1;
	};
 
}
 
function Coche() { //creo la clase Coche
 
	this.nombre;//vinculo el atribulo a la clase Coche//
	this.precio;
	this.extras = new Array(); //array vacio// 
 
 
	this.addExtra = function (extra) { //esta variable this.addExtra se convierte 
		//en una funcion//
 
		this.extras.push(extra); //añado un elemento al array//
		return this.extras.length-1;
 
	};
}
/*Código de comprovación de Concesionario*/
var myConcesionario= new Concesionario();
myConcesionario.setNombre("Mario Kart");
myConcesionario.setDireccion("c/Mushroom Kingdom 1");
 
var coche = new Coche();
coche.nombre="Fantastico!";
coche.precio="70000€";
var numExtra = coche.addExtra("Airbag");
 
var posicionComanda = myConcesionario.addComanda(coche);
 
document.write('<br />Nombre Concesionario: ');
document.write(myConcesionario.nombre);
document.write('<br />Direccion: ');
document.write(myConcesionario.direccion);
document.write('<br /> Nombre coche: ');
document.write(myConcesionario.comanda[posicionComanda].nombre);
document.write('<br /> Nombre extra: ');
document.write(myConcesionario.comanda[posicionComanda].extras[numExtra]);
 
</script>
</body>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar