diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..90eb4795 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-1/readme.md b/Sprint-1/destructuring/exercise-1/readme.md index 28ca6c3d..10bc5968 100644 --- a/Sprint-1/destructuring/exercise-1/readme.md +++ b/Sprint-1/destructuring/exercise-1/readme.md @@ -30,4 +30,7 @@ console.log(`Batman is ${firstName}, ${lastName}`); # Exercise - What is the syntax to destructure the object `personOne` in exercise.js? + +let {name, age, favouriteFood} = personOne; + - Update the parameter of the function `introduceYourself` to use destructuring on the object that gets passed in. diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..d3952685 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,27 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +//Task 1 + +function gryffindorMembers() { + const members = hogwarts.filter((member) => member.house === "Gryffindor"); + members.forEach(({ firstName, lastName }) => { + console.log(`${firstName} ${lastName}`); + }); +} + +const result = gryffindorMembers(); + +// Task 2 + +function teachersWhoHavePets(array) { + const teachersWithPets = array.filter( + (member) => member.pet !== null && member.occupation === "Teacher" + ); + teachersWithPets.forEach(({ firstName, lastName }) => { + console.log(`${firstName} ${lastName}`); + }); +} + +const result2 = teachersWhoHavePets(hogwarts); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..3115355c 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,21 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +function getTotalOfOrder() { + let totalOfOrder = 0; + console.log(`QTY ITEM TOTAL`); + order.forEach(({ itemName, quantity, unitPricePence }) => { + const totalOfItem = (unitPricePence * quantity) / 100; + totalOfOrder += totalOfItem; + console.log( + `${String(quantity).padEnd(6)} ${String(itemName).padEnd( + 24 + )} ${totalOfItem.toFixed(2).padStart(4)}` + ); + }); + + console.log(`\nTotal: ${totalOfOrder.toFixed(2)}`); +} + +getTotalOfOrder();