From ad2458b2763e0622120bde4f5dee65cdf7b09992 Mon Sep 17 00:00:00 2001 From: Khor Biel Date: Fri, 28 Nov 2025 10:45:35 +0000 Subject: [PATCH 1/4] Fixed function parameter to use object destructuring --- 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..c3ce112c 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 004337d6099003ea01782073183f3f6d5e20092a Mon Sep 17 00:00:00 2001 From: Khor Biel Date: Fri, 28 Nov 2025 11:03:58 +0000 Subject: [PATCH 2/4] Fixed function parameter to use object destructuring --- 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 c3ce112c..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(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}.` ); From b07cf4ee21a7c4e41eac31ed46bffce343b33899 Mon Sep 17 00:00:00 2001 From: Khor Biel Date: Fri, 28 Nov 2025 11:05:06 +0000 Subject: [PATCH 3/4] Completed Hogwarts exercise with destructuring --- 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..177d00ef 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", }, ]; + + +// Task 1: Gryffindor members +hogwarts.forEach((person) => { + const { firstName, lastName, house } = person; + + if (house === "Gryffindor") { + console.log(`${firstName} ${lastName}`); + } +}); + + +// Task 2: Teachers with pets +hogwarts.forEach((person) => { + const { firstName, lastName, occupation, pet } = person; + + if (occupation === "Teacher" && pet) { + console.log(`${firstName} ${lastName}`); + } +}); \ No newline at end of file From 8d82196ab89aff13713518ee349cca5d6b3938e4 Mon Sep 17 00:00:00 2001 From: Khor Biel Date: Fri, 28 Nov 2025 11:09:37 +0000 Subject: [PATCH 4/4] Implemented takeout order receipt with destructuring and formatted totals --- Sprint-1/destructuring/exercise-3/exercise.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..9bcd638a 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,22 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + + +console.log("QTY ITEM TOTAL"); + +let grandTotal = 0; + +order.forEach(({ itemName, quantity, unitPricePence }) => { + const total = (unitPricePence * quantity) / 100; + grandTotal += total; + + // Format columns + const qtyCol = String(quantity).padEnd(7, " "); + const itemCol = itemName.padEnd(20, " "); + const totalCol = total.toFixed(2); + + console.log(`${qtyCol}${itemCol}${totalCol}`); +}); + +console.log(`\nTotal: ${grandTotal.toFixed(2)}`);