From 897b026358bf20d907dd874ba7b9c20f72d3fe5e Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Fri, 3 Apr 2026 18:09:47 +0100 Subject: [PATCH 1/6] completed exercise 1 --- Sprint-1/destructuring/exercise-1/exercise.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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}.` ); From 747df190d1ca10103dd67c1d1d1c3dfe5377e67e Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Fri, 3 Apr 2026 19:44:14 +0100 Subject: [PATCH 2/6] Completed exercise 2 --- Sprint-1/destructuring/exercise-2/exercise.js | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..e8361626 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,35 @@ 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"); + + 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"); + + return output; +} From d906c917a7395d35a68bba19c0c60d2ebcc3a5f6 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Sun, 5 Apr 2026 18:14:37 +0100 Subject: [PATCH 3/6] Completed exercise 3 --- Sprint-1/destructuring/exercise-3/exercise.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..d3ed3bc7 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,28 @@ 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 = item.itemName; + const quantity = item.quantity; + const unitPricePence = item.unitPricePence; + + 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); From 58000c19f85df1a25eb4796022ea88be6c8c3df3 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Fri, 10 Apr 2026 20:42:25 +0100 Subject: [PATCH 4/6] console logs added --- Sprint-1/destructuring/exercise-2/exercise.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e8361626..4e6ee86f 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -83,7 +83,7 @@ function findGryffindor(peopleList) { }); const output = peopleNames.join("\n"); - + console.log("People in Gryffindor House", output); return output; } @@ -99,6 +99,6 @@ function findTeachersWithPets(peopleList) { }); const output = teachersName.join("\n"); - + console.log("Teachers with pets", output); return output; } From c2a062ef32be4b4b0ee65e580f8f08ab47de8957 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Fri, 10 Apr 2026 20:46:58 +0100 Subject: [PATCH 5/6] edited after feedback --- Sprint-1/destructuring/exercise-3/exercise.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index d3ed3bc7..70bff426 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -14,9 +14,7 @@ function printReceipt(order) { for (let i = 0; i < order.length; i++) { const item = order[i]; - const itemName = item.itemName; - const quantity = item.quantity; - const unitPricePence = item.unitPricePence; + const { itemName, quantity, unitPricePence } = item; const itemTotal = quantity * unitPricePence; total += itemTotal; From e8e1231c89838a6ddbc656489d240469546962c7 Mon Sep 17 00:00:00 2001 From: Liban Jama Date: Wed, 15 Apr 2026 17:46:24 +0100 Subject: [PATCH 6/6] Called functions --- Sprint-1/destructuring/exercise-2/exercise.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index 4e6ee86f..008cf6df 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -102,3 +102,6 @@ function findTeachersWithPets(peopleList) { console.log("Teachers with pets", output); return output; } + +findTeachersWithPets(hogwarts); +findGryffindor(hogwarts);