diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..d86bc7bf 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -6,7 +6,7 @@ const personOne = { // Update the parameter to this function to make it work. // Don't change anything else. -function introduceYourself(___________________________) { +function introduceYourself({ name, age, favouriteFood }) { console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..2d3cde83 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,21 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +function gryffindorMembers(hogwarts) { + return hogwarts + .filter(({ house }) => house === "Gryffindor") + .map(({ firstName, lastName }) => `${firstName} ${lastName}`) + .join("\n"); +} + +console.log(gryffindorMembers(hogwarts)); + +function petsOwners(hogwarts) { + return hogwarts + .filter(({ occupation, pet }) => occupation === "Teacher" && pet !== null) + .map(({ firstName, lastName }) => `${firstName} ${lastName}`) + .join("\n"); +} + +console.log(petsOwners(hogwarts)); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..d3c745b9 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,33 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +const order = [ + { itemName: "Hot Cakes", quantity: 1, unitPricePence: 232 }, + { itemName: "Apple Pie", quantity: 2, unitPricePence: 139 }, + { itemName: "Egg McMuffin", quantity: 1, unitPricePence: 280 }, + { itemName: "Sausage McMuffin", quantity: 1, unitPricePence: 300 }, + { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, + { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, +]; + +function printReceipt(order) { + let total = 0; + + console.log("QTY ITEM TOTAL"); + + order.forEach(({ itemName, quantity, unitPricePence }) => { + const lineTotal = quantity * unitPricePence; + total += lineTotal; + + const price = (lineTotal / 100).toFixed(2); + + console.log( + `${quantity.toString().padEnd(8)}${itemName.padEnd(20)}${price}` + ); + }); + + console.log("\nTotal: " + (total / 100).toFixed(2)); +} + +printReceipt(order);