diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..00498fc4 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -6,10 +6,10 @@ const personOne = { // Update the parameter to this function to make it work. // Don't change anything else. -function introduceYourself(___________________________) { +function introduceYourself({ name, age, favouriteFood }) { // Object destructuring in function parameters. console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); } -introduceYourself(personOne); +introduceYourself(personOne); \ No newline at end of file diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..99353b4c 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,24 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +function getGryffindorMembers(hogwarts) { + const people = hogwarts.filter(({ house }) => house === "Gryffindor"); + people.forEach(({ firstName, lastName }) => { + console.log(`${firstName} ${lastName}`); + }); +} + +function getTeachersWithPets(hogwarts) { + const teachers = hogwarts.filter( + ({ occupation, pet }) => occupation === "Teacher" && pet !== null + ); + teachers.forEach(({ firstName, lastName }) => { + console.log(`${firstName} ${lastName}`); + }); +} +getGryffindorMembers(hogwarts); + +console.log(); + +getTeachersWithPets(hogwarts); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..080a8b95 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,27 @@ 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".padEnd(8) + "ITEM".padEnd(22) + "TOTAL"); + + order.forEach(({ quantity, itemName, unitPricePence }) => { + let itemTotal = quantity * unitPricePence; + + total = total + itemTotal; + + let priceInPounds = itemTotal / 100; + + console.log( + quantity.toString().padEnd(8) + + itemName.padEnd(22) + + priceInPounds.toFixed(2) + ); + }); + + console.log("\nTotal: " + (total / 100).toFixed(2)); +} + +printReceipt(order);