From 1e20c48c6ddaefe760c70ab2e396eb8842463f3e Mon Sep 17 00:00:00 2001 From: Mona-Eltantawy Date: Thu, 16 Apr 2026 12:38:03 +0100 Subject: [PATCH 1/4] I updated the parameter with the perosnOne object values. --- Sprint-1/destructuring/exercise-1/exercise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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}.` ); From d59881d4cc5e035ed23c81a65aaf7c830a90cb2e Mon Sep 17 00:00:00 2001 From: Mona-Eltantawy Date: Thu, 16 Apr 2026 21:52:06 +0100 Subject: [PATCH 2/4] Implemented two functions to get the Gryffindor house members and to get the teachers with pets --- Sprint-1/destructuring/exercise-2/exercise.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..4be27a14 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,23 @@ 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)); \ No newline at end of file From fc7e0681c1a89713ce72aa8d51ee3de88467c001 Mon Sep 17 00:00:00 2001 From: Mona-Eltantawy Date: Thu, 16 Apr 2026 22:20:25 +0100 Subject: [PATCH 3/4] implemented a function to get the print Receipt of the order array values. --- Sprint-1/destructuring/exercise-3/exercise.js | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..9f79137b 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); \ No newline at end of file From fea61be9514c093a0ec18089a226f7f6d265faba Mon Sep 17 00:00:00 2001 From: Mona-Eltantawy Date: Thu, 16 Apr 2026 22:23:02 +0100 Subject: [PATCH 4/4] formatted the files with prettier code format --- Sprint-1/destructuring/exercise-1/exercise.js | 2 +- Sprint-1/destructuring/exercise-2/exercise.js | 8 +++----- Sprint-1/destructuring/exercise-3/exercise.js | 2 +- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 90eb4795..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({name, age, favouriteFood}) { +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 4be27a14..2d3cde83 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -80,13 +80,11 @@ function gryffindorMembers(hogwarts) { console.log(gryffindorMembers(hogwarts)); - - function petsOwners(hogwarts) { - return hogwarts - .filter(({ occupation, pet }) => occupation === "Teacher" && pet!== null) + return hogwarts + .filter(({ occupation, pet }) => occupation === "Teacher" && pet !== null) .map(({ firstName, lastName }) => `${firstName} ${lastName}`) .join("\n"); } -console.log(petsOwners(hogwarts)); \ No newline at end of file +console.log(petsOwners(hogwarts)); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index 9f79137b..d3c745b9 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -35,4 +35,4 @@ function printReceipt(order) { console.log("\nTotal: " + (total / 100).toFixed(2)); } -printReceipt(order); \ No newline at end of file +printReceipt(order);