Skip to content

Instantly share code, notes, and snippets.

@codecademydev
Created February 12, 2018 18:53
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/067955d770a8cbf5bca5b92deb6f42f9 to your computer and use it in GitHub Desktop.
Save codecademydev/067955d770a8cbf5bca5b92deb6f42f9 to your computer and use it in GitHub Desktop.
Codecademy export
let menu = {
_courses: {
_appetizers: [],
_mains: [],
_desserts: [],
set appetizers(newAppetizer) {this._appetizers = newAppetizer;},
set mains(newMain) {this._mains = newMain},
set desserts(dessert) {this._desserts = newDessert},
get appetizers() {
console.log(`The appetizer ${this._appetizers} has been added.`);
return this._appetizers;
},
get mains() {
console.log(`The main ${this._mains} has been added.`);
return this._mains;
},
get desserts() {
console.log(`The dessert ${this._desserts} has been added.`);
return this._desserts;
}
}, // end of _courses object
get courses() {
return {
appetizers: this._courses.appetizers,
mains: this._courses.mains,
desserts: this._courses.desserts
}
}, // end of get courses()
addDishToCourse(courseName, dishName, dishPrice) {
const dish = {
name: dishName,
price: dishPrice
}; // end of the dish variable
this._courses[courseName].push(dish);
}, // end of the addDishToCourse method
getRandomDishFromCourse(courseName) {
const dishes = this._courses[courseName];
const randomIndex = Math.floor(Math.random() * dishes.length);
return randomIndex; // To validate if I return the right thing here
}, // end of the getRandomDishFromCourse method
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 your dessert is ${dessert.name}. The total price is $${totalPrice}.`;
} // end of the generateRandomMeal method
}; // end of the menu object
menu.addDishToCourse('appetizers', 'Pieuvre Grillee', 18);
menu.addDishToCourse('appetizers', 'Huitres Fraiches', 32);
menu.addDishToCourse('appetizers', 'Crevettes Geantes Bardees de Bacon', 21);
menu.addDishToCourse('mains', 'Burger Le Cochon', 18);
menu.addDishToCourse('mains', 'Burger Le Godfather', 20);
menu.addDishToCourse('mains', 'Filet Mignon 8oz', 42);
menu.addDishToCourse('desserts', 'Creme Brulee', 7);
menu.addDishToCourse('desserts', 'Churros au Dulce de Leche', 7);
menu.addDishToCourse('desserts', 'Gateau au Fromage Lime et Avocat', 8);
let meal = menu.generateRandomMeal();
console.log(meal);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment