Hi everyone I have problem with JS Meal Maker Project. I wrote the same code as shown on Video walkthrough but I still getting Type error:
return this._courses[courseName].push(dish);
TypeError: Cannot read property ‘push’ of undefined
My code shown below:
const menu =
{
_courses:
{
appetizers: [],
mains: [],
desserts: []
},
//-----------------------------------
get appetizers()
{
return this._courses.appetaizers;
},
get mains()
{
return this._courses.mains;
},
get desserts()
{
this._courses.desserts;
},
//-----------------------------------
set appetizers(appetizers)
{
this._courses.appetizers = appetizers;
},
set mains(mains)
{
this._courses.mains = mains;
},
set desserts(desserts)
{
this._courses.deserts = 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);** // <=== ERROR HERE
},
//--------------------------------------
getRandomDishFromeCourse(courseName)
{
const dishes =
this._courses[courseName];
const randomIndex =
Math.floor(Math.random()*dishes.length);
return dishes[randomIndex];
},
//---------------------------------------
generateRandomMeal()
{
const apetizer =
this.getRandomDishFromeCourse('appetizers');
const main =
this.getRandomDishFromeCourse('mains');
const dessert =
this.getRandomDishFromeCourse('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('apetaizers', 'Pizza', 10);
menu.addDishToCourse('apetaizers', 'Pasta', 10);
menu.addDishToCourse('apetaizers', 'Pojo', 10);
menu.addDishToCourse('meins', 'Pierogi', 5);
menu.addDishToCourse('mains', 'Schabowy', 10);
menu.addDishToCourse('meins', 'Pomidorowa', 5);
menu.addDishToCourse('desserts', 'Losos', 12);
menu.addDishToCourse('desserts', 'Kraby', 15);
menu.addDishToCourse('desserts', 'Malze', 10);
const meal = menu.generateRandomMeal();
console.log(meal);
And one more time errot type mesage as a pic this time
Please help me. Thank you.