From a3bb93a1a32b820ba90ffedcebabd0789254694d Mon Sep 17 00:00:00 2001 From: Richard Frimpong Date: Fri, 3 Apr 2026 23:46:24 +0100 Subject: [PATCH 1/5] Complete destructuring exercise 1 --- 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..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(___________________________) { +function introduceYourself({ name, age, favouriteFood }) { console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); From 05e6b6e59c6304c8f2b134e18f2d9b1268580455 Mon Sep 17 00:00:00 2001 From: Richard Frimpong Date: Sat, 4 Apr 2026 00:10:36 +0100 Subject: [PATCH 2/5] Complete destructuring exercise 2 --- Sprint-1/destructuring/exercise-2/exercise.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..113413b1 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,17 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +// Task 1: Gryffindor members +hogwarts.forEach(({ firstName, lastName, house }) => { + if (house === "Gryffindor") { + console.log(`${firstName} ${lastName}`); + } +}); + +// Task 2: Teachers with pets +hogwarts.forEach(({ firstName, lastName, occupation, pet }) => { + if (occupation === "Teacher" && pet) { + console.log(`${firstName} ${lastName}`); + } +}); From 5e2b55afd569ad81a5929c9351bda65080b93456 Mon Sep 17 00:00:00 2001 From: Richard Frimpong Date: Sat, 4 Apr 2026 00:26:45 +0100 Subject: [PATCH 3/5] Complete destructuring exercise 3 --- Sprint-1/destructuring/exercise-3/exercise.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..1bf7d642 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,16 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +let total = 0; + +order.forEach(({ itemName, quantity, unitPricePence }) => { + const itemTotal = quantity * unitPricePence; + total += itemTotal; + + console.log( + `${itemName} x${quantity} = £${(itemTotal / 100).toFixed(2)}` + ); +}); + +console.log(`Total: £${(total / 100).toFixed(2)}`); From 43be95465794ea85ad92a2bddc4bc805000c1c35 Mon Sep 17 00:00:00 2001 From: Richard Frimpong Date: Sat, 11 Apr 2026 20:33:18 +0100 Subject: [PATCH 4/5] Fix object destructuring output formatting --- Sprint-1/destructuring/exercise-3/exercise.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index 1bf7d642..ccd6c74d 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -9,13 +9,16 @@ let order = [ let total = 0; +console.log("QTY ITEM TOTAL"); + order.forEach(({ itemName, quantity, unitPricePence }) => { const itemTotal = quantity * unitPricePence; total += itemTotal; console.log( - `${itemName} x${quantity} = £${(itemTotal / 100).toFixed(2)}` + `${String(quantity).padEnd(6)}${itemName.padEnd(17)}${(itemTotal / 100).toFixed(2)}` ); }); -console.log(`Total: £${(total / 100).toFixed(2)}`); +console.log(""); +console.log(`Total: ${(total / 100).toFixed(2)}`); From ba8bb2007c7f76585324e4bde23cd0650668ebc5 Mon Sep 17 00:00:00 2001 From: Richard Frimpong Date: Sun, 12 Apr 2026 17:04:45 +0100 Subject: [PATCH 5/5] Fix exercise 3 formatting to match expected output --- Sprint-1/destructuring/exercise-3/exercise.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index ccd6c74d..8f0455a7 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -9,14 +9,22 @@ let order = [ let total = 0; -console.log("QTY ITEM TOTAL"); +// Header (match spacing EXACTLY) +console.log("QTY ITEM TOTAL"); order.forEach(({ itemName, quantity, unitPricePence }) => { const itemTotal = quantity * unitPricePence; total += itemTotal; + // Fix capitalisation (Hot cakes → Hot Cakes) + const formattedName = itemName + .split(" ") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(" "); + + // Format columns exactly console.log( - `${String(quantity).padEnd(6)}${itemName.padEnd(17)}${(itemTotal / 100).toFixed(2)}` + `${String(quantity).padEnd(8)}${formattedName.padEnd(20)}${(itemTotal / 100).toFixed(2)}` ); });