Foros del Web » Programando para Internet » Javascript »

Funcion con array. Error de principiante. "undefined"

Estas en el tema de Funcion con array. Error de principiante. "undefined" en el foro de Javascript en Foros del Web. Hola! Estoy empezando funciones en el curso de DAW y llevo varios dias comiendome la cabeza para solucionar el primer ejercicio de la practica y ...
  #1 (permalink)  
Antiguo 12/11/2015, 18:18
Avatar de bernyx123  
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Funcion con array. Error de principiante. "undefined"

Hola! Estoy empezando funciones en el curso de DAW y llevo varios dias comiendome la cabeza para solucionar el primer ejercicio de la practica y he llegado a un punto en que me da hasta verguenza.
Intento conseguir el string de un array y me devuelve "undefined" y en el firebug aparece el error "typeerror this.ingredientesvacios(Numeroingr); is not a function"

He leido por internet que la culpa es utilizar un mismo nombre de variable, pero he intentado cambiar de todo y sigue sin funcionar... agradezco cualquier ayuda... gracias y saludos.


Este es el anunciado para aclarar las cosas:

crea un objeto “Pizza” que almacene: el nombre de la pizza , el precio de la pizza, una array vacía de ingredientes, una función que nos permita añadir un ingrediente y una función que nos permita obtener el nombre de un ingrediente según su posición.

Una vez realizada la classe “Pizza”, deberá ser capaz de ejecutar el siguiente código:

var pizza = new Pizza();
pizza.nombre="Mamma mia!";
pizza.precio="7€";
document.write('<br />Nompre Pizza: ');
document.write(pizza.nombre);
document.write('<br />Precio: ');
document.write(pizza.precio);
var numIngrediente = pizza.addIngrediente("parmesano");
var ingrediente = pizza.getIngrediente(numIngrediente-1);
document.write('<br />Ingrediente: ');
document.write(ingrediente);


////////////////////////////////////////////////


Entonces yo he hecho esto:

Dentro de un JS:

function Pizza(){
this.nombre="peperoni";
this.precio=9;
this.ingredientesvacios = []; //new Array();

this.addIngrediente=function(Ingr) {
var numIngrediente=this.ingredientesvacios.push(Ingr);
return numIngrediente;
}
this.getIngrediente=function(Numeroingr){
return this.ingredientesvacios(Numeroingr);
}
}

var pz = new Pizza();
var numIngrediente = pz.addIngrediente("parmesano");
var ingrediente = pz.getIngrediente(numIngrediente-1);


Dentro de un html vinculado al js:

<body><script>
document.write('<br />Nombre Pizza: ');
document.write(pz.nombre);
document.write('<br />Precio: ');
document.write(pz.precio);
document.write('<br />Ingrediente: ');
document.write(ingrediente);
</script>
</body>
  #2 (permalink)  
Antiguo 12/11/2015, 23:11
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Funcion con array. Error de principiante. "undefined"

El mensaje de error te lo dice explícitamente: this.ingredientesvacios no es una función; sin embargo, estás intentando tomarlo como tal.

En realidad, es un array, entonces, si quieres tomar a uno de sus elementos a partir de una posición determinada, debes de utilizar corchetes [].

Código Javascript:
Ver original
  1. array[posición]

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/11/2015, 11:48
Avatar de bernyx123  
Fecha de Ingreso: junio-2010
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Funcion con array. Error de principiante. "undefined"

Muchas gracias!! ya esta solucionado :D

Etiquetas: funcion, html, js, principiante, variable
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 17:26.