diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..8145d248 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -6,7 +6,10 @@ const personOne = { // Update the parameter to this function to make it work. // Don't change anything else. -function introduceYourself(___________________________) { + +// Destructured the personOne object and passed to function parameters. + +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..008cf6df 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,38 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +function findGryffindor(peopleList) { + // first loop through the people list + // find every person whos is Gryffindor house + const gryffindorPeople = peopleList.filter(({ house }) => { + return house === "Gryffindor"; + }); + + const peopleNames = gryffindorPeople.map(({ firstName, lastName }) => { + return `${firstName} ${lastName}`; + }); + + const output = peopleNames.join("\n"); + console.log("People in Gryffindor House", output); + return output; +} + +function findTeachersWithPets(peopleList) { + // loop through peoples list + // find teachers with pets + const teachersWithPets = peopleList.filter(({ occupation, pet }) => { + return pet && occupation === "Teacher"; + }); + + const teachersName = teachersWithPets.map(({ firstName, lastName }) => { + return `${firstName} ${lastName}`; + }); + + const output = teachersName.join("\n"); + console.log("Teachers with pets", output); + return output; +} + +findTeachersWithPets(hogwarts); +findGryffindor(hogwarts); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..70bff426 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,26 @@ let order = [ { 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"); + + for (let i = 0; i < order.length; i++) { + const item = order[i]; + const { itemName, quantity, unitPricePence } = item; + + const itemTotal = quantity * unitPricePence; + total += itemTotal; + + const paddedItem = itemName.padEnd(20, " "); + console.log( + quantity + " " + paddedItem + (itemTotal / 100).toFixed(2) + ); + } + + console.log("\nTotal: " + (total / 100).toFixed(2)); +} + +printReceipt(order);