Skip to content

Instantly share code, notes, and snippets.

@codecademydev
Created May 22, 2020 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codecademydev/b0a5b08f2dd93f33995a1cf9589b494b to your computer and use it in GitHub Desktop.
Save codecademydev/b0a5b08f2dd93f33995a1cf9589b494b to your computer and use it in GitHub Desktop.
Codecademy export
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(appetizersIn) {
this._courses.appetizers = appetizersIn;
},
set mains(mainsIn) {
this._courses.mains = mainsIn;
},
set desserts(dessertsIn) {
this._courses.desserts = dessertsIn;
},
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.length);
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} and ${dessert.name} and the total price is ${totalPrice}";
},
};
menu.addDishToCourse("appetizer", "salad", 3.0);
menu.addDishToCourse("appetizer", "chips", 2.0);
menu.addDishToCourse("appetizer", "fish sticks", 6.0);
menu.addDishToCourse("mains", "steak", 13.0);
menu.addDishToCourse("mains", "salmon", 21.0);
menu.addDishToCourse("mains", "rice", 9.0);
menu.addDishToCourse("desserts", "icecream", 1.5);
menu.addDishToCourse("desserts", "coffee", 1.0);
menu.addDishToCourse("desserts", "cake", 2.25);
const meal = menu.generateRandomMeal();
console.log(meal);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment