From f59dd1b1effa1bb0dc05fa55093c8141ad5fa630 Mon Sep 17 00:00:00 2001 From: Laura C Date: Sat, 4 Apr 2026 20:40:16 +0100 Subject: [PATCH 1/4] Complete exercise 1 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..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 03f71f40e720e1ab653781699e5fbe6d12748251 Mon Sep 17 00:00:00 2001 From: Laura C Date: Sat, 4 Apr 2026 20:44:43 +0100 Subject: [PATCH 2/4] Complete exercise 2 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..d8df4310 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 +hogwarts.forEach(({ firstName, lastName, house }) => { + if (house === "Gryffindor") { + console.log(`${firstName} ${lastName}`); + } +}); + +// Task 2 +hogwarts.forEach(({ firstName, lastName, occupation, pet }) => { + if (occupation === "Teacher" && pet) { + console.log(`${firstName} ${lastName}`); + } +}); \ No newline at end of file From 36fe200b93bf5086c80f098e9cafdbe3741a36bf Mon Sep 17 00:00:00 2001 From: Laura C Date: Sat, 4 Apr 2026 20:47:07 +0100 Subject: [PATCH 3/4] Complete exercise 3 destructuring --- 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..f9a9a3b8 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 }, ]; + +console.log("QTY ITEM TOTAL"); + +let total = 0; + +order.forEach(({ itemName, quantity, unitPricePence }) => { + let itemTotal = (quantity * unitPricePence) / 100; + total += itemTotal; + + console.log(`${quantity} ${itemName} ${itemTotal.toFixed(2)}`); +}); + +console.log(`\nTotal: ${total.toFixed(2)}`); \ No newline at end of file From 0ffce1e278435d95d820d0e91febe79a3c2b0d17 Mon Sep 17 00:00:00 2001 From: Laura C Date: Sat, 11 Apr 2026 16:10:17 +0100 Subject: [PATCH 4/4] Fix receipt formatting in exercise 3 --- Sprint-1/destructuring/exercise-3/exercise.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index f9a9a3b8..54d9467b 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -7,15 +7,19 @@ let order = [ { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; -console.log("QTY ITEM TOTAL"); +console.log("QTY".padEnd(8) + "ITEM".padEnd(20) + "TOTAL"); let total = 0; order.forEach(({ itemName, quantity, unitPricePence }) => { - let itemTotal = (quantity * unitPricePence) / 100; - total += itemTotal; + let itemTotal = ((quantity * unitPricePence) / 100).toFixed(2); + total += Number(itemTotal); - console.log(`${quantity} ${itemName} ${itemTotal.toFixed(2)}`); + console.log( + String(quantity).padEnd(8) + + itemName.padEnd(20) + + itemTotal + ); }); console.log(`\nTotal: ${total.toFixed(2)}`); \ No newline at end of file