From 9bb687ac90f76a5b794d16e83126636dd3ea1f86 Mon Sep 17 00:00:00 2001 From: Eugenie Ahangama Date: Fri, 3 Apr 2026 23:55:32 +0100 Subject: [PATCH 1/3] add object destructuring to introduceYourself parameter --- 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 92defd90e8b4624af3703b86e29620bc12c1bee3 Mon Sep 17 00:00:00 2001 From: Eugenie Ahangama Date: Sat, 4 Apr 2026 00:09:08 +0100 Subject: [PATCH 2/3] filter hogwarts array by house and occupation using destructuring --- 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..d03a93bc 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", }, ]; + +// Loop through the hogwarts array and print the names of people in Gryffindor +hogwarts.forEach(({ firstName, lastName, house }) => { + if (house === "Gryffindor") { + console.log(`${firstName} ${lastName}`); + } +}); + +// Loop through the hogwarts array and print the names of teachers who have pets +hogwarts.forEach(({ firstName, lastName, pet, occupation }) => { + if (occupation === "Teacher" && pet) { + console.log(`${firstName} ${lastName}`); + } +}); From 03268cf734508165349ab715912778d396fa743b Mon Sep 17 00:00:00 2001 From: Eugenie Ahangama Date: Sat, 4 Apr 2026 00:35:39 +0100 Subject: [PATCH 3/3] print takeout order receipt with padded columns and total --- Sprint-1/destructuring/exercise-3/exercise.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..433d0c73 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,23 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +// Print the header line, padding each column to a fixed width +console.log("QTY".padEnd(8) + "ITEM".padEnd(20) + "TOTAL"); +// Keep track of running total +let total = 0; + +// Loop through each item in the order +order.forEach(({ itemName, quantity, unitPricePence }) => { + // Calculate the line total and convert from pence to pounds + let lineTotal = (quantity * unitPricePence) / 100; + // Add this item's total to the running total + total += lineTotal; + // Print this item line, padding each column to match the header width + console.log( + `${quantity}`.padEnd(8) + itemName.padEnd(20) + lineTotal.toFixed(2) + ); +}); + +// Print the overall total, fixed to 2 decimal places +console.log(`\nTotal: ${total.toFixed(2)}`);