const menu = {
_courses: {
appetizers: ,
mains: ,
desserts: ,
},
get appetizers() {
return this._courses.appetizers;
},
get mains() {
return this._courses.mains;
},
get desserts() {
return this._courses.desserts;
},
set appetizers(appetizers) {
this._courses.appetizers = appetizers;
},
set mains(mains) {
this._courses.mains = mains;
},
set desserts(desserts) {
this._courses.desserts = desserts;
},
get courses(){
return {
appetizers: this.appetizers,
mains: this.mains,
desserts: this.desserts
}
},
addDishToCourse(courseName, dishName, dishPrice) {
const dish = {
name: dishName,
price: dishPrice,
};
return this._courses[courseName].push(dish);
},
getRandomDishFromCourse(courseName) {
const dishes = this._courses[courseName];
const randomIndex = Math.floor(Math.random() * dishes.lenght);
return dishes[randomIndex];
},
generateRandomMeal() {
const appetizer = this.getRandomDishFromCourse('appetizers');
const main = this.getRandomDishFromCourse('mains');
const dessert = this.getRandomDishFromCourse('desserts');
const totalPrice = appetizer.price + main.price + dessert.price;
return `Your meal is ${appetizer.name}, ${main.name}, ${dessert.name}. The price is $${totalPrice}.`;
}
};
menu.addDishToCourse(âappetizersâ, âFried Picklesâ, 8.60)
menu.addDishToCourse(âappetizersâ, âRanch Dipâ, 5.35)
menu.addDishToCourse(âappetizersâ, âGarlic Breadâ, 6.66)
menu.addDishToCourse(âmainsâ, âSteak Tipsâ, 38.40)
menu.addDishToCourse(âmainsâ, âSalmonâ, 12.95)
menu.addDishToCourse(âmainsâ, âEggplant Parmâ, 17.99)
menu.addDishToCourse(âdessertsâ, âIce Creamâ, 7.30)
menu.addDishToCourse(âdessertsâ, âTerribleSueâ, 8.95)
menu.addDishToCourse(âdessertsâ, âCoffeeâ, 1.95)
const meal = menu.generateRandomMeal();
console.log(meal);
I keep getting a TypeError: âCannot read property âpriceâ of undefinedâ I donât understand where I went wrong here. Can someone please point out what my mistake is, and either explain it to me or point me in the direction of the proper reference material.