Experiencing multiple ‘undefined’ errors and unsure how to proceed.
let menu = {
_courses: {
_appetizers: [],
_mains: [],
_desserts: [],
},
get appetizers() {
return this._appetizers
},
get mains() {
return this._mains
},
get desserts() {
return this._desserts
},
set appetizers(newApp) {
this._appetizers = newApp
},
set mains(newMain) {
this._mains = newMain
},
set desserts(newDessert) {
this._desserts = newDessert
},
addDishToCourse(courseName, dishName, dishPrice) {
let dish = { name: dishName, price: dishPrice }
return this._courses[courseName].push(dish)
},
get courses() {
return { appetizers: this._appetizers, mains: this._mains, desserts: this._desserts }
},
getRandomDishFromCourse(courseName) {
let dishes = this._courses[courseName]
return dishes[Math.floor(Math.random() * dishes.length)]
},
generateRandomMeal() {
let randomApp = this.getRandomDishFromCourse('appetizers')
let randomMain = this.getRandomDishFromCourse('mains')
let randomDessert = this.getRandomDishFromCourse('desserts')
let totalPrice = randomApp.price + randomMain.price + randomDessert.price
return `Your meal is ${randomApp.name}, ${randomMain.name}, and ${randomDessert.name}. Your total for this meal is ${totalPrice}.`
},
}
menu.addDishToCourse('appetizers', 'Caesar Salad', 4.25)
menu.addDishToCourse('appetizers', 'Burrata Salad', 7.25)
menu.addDishToCourse('appetizers', 'Calamari', 6.25)
menu.addDishToCourse('mains', 'Beef', 10.25)
menu.addDishToCourse('mains', 'Chicken', 11.25)
menu.addDishToCourse('mains', 'Fish', 13.25)
menu.addDishToCourse('desserts', 'Flan', 3.25)
menu.addDishToCourse('desserts', 'Creme Brulee', 5.25)
menu.addDishToCourse('desserts', 'Chocolate Starwberries', 2.25)
let meal = menu.generateRandomMeal()
console.log(meal)
console.log(meal)
console.log(meal)
console.log(meal)
console.log(meal)
console.log(meal)
I would also like to replace many of the functions in the methods with my setter methods, but my brain is swimming.