From e1e82db65e8ff0b9146b92c72a20f624d330f0a9 Mon Sep 17 00:00:00 2001 From: jamesishimwe Date: Sat, 2 May 2026 22:14:22 +0200 Subject: [PATCH 1/4] Destruct the object personOne --- 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..d67e52a7 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} = personOne) { console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); From 4d1bb5a5edd01e48a6dc55394083255912561096 Mon Sep 17 00:00:00 2001 From: jamesishimwe Date: Sat, 2 May 2026 22:28:07 +0200 Subject: [PATCH 2/4] Implement function to display names from array of objects --- Sprint-1/destructuring/exercise-2/exercise.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..d8e8d26f 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,15 @@ let hogwarts = [ occupation: "Teacher", }, ]; + +function displayGryffindorPeople(arr) +{ + for(let obj of arr) + { if(obj.house === "Gryffindor") { + let {firstName, lastName} = obj; + console.log(`${firstName} ${lastName}`); + } + } +} + +displayGryffindorPeople(hogwarts); From 5bf7796ace3bc66e2def2b02692cf638de084f0c Mon Sep 17 00:00:00 2001 From: jamesishimwe Date: Sat, 2 May 2026 22:34:27 +0200 Subject: [PATCH 3/4] Implement the display names of teachers with pets --- Sprint-1/destructuring/exercise-2/exercise.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index d8e8d26f..4e076490 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -82,3 +82,16 @@ function displayGryffindorPeople(arr) } displayGryffindorPeople(hogwarts); + +function displayTeacherWithPet(arr) +{ + for(let obj of arr) + { +if(obj.pet != null && obj.occupation === "Teacher") + { let {firstName, lastName} = obj; +console.log(`${firstName} ${lastName}`); + } +} +} + +displayTeacherWithPet(hogwarts); \ No newline at end of file From 9d8336e09b043fa37c7e5ade575dbad1780430c9 Mon Sep 17 00:00:00 2001 From: jamesishimwe Date: Sat, 2 May 2026 22:55:46 +0200 Subject: [PATCH 4/4] Implement function to get total --- Sprint-1/destructuring/exercise-3/exercise.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..2e8b302d 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,18 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +function receipt(order) +{ +let total = 0; + + console.log("QTY".padEnd(7) + "ITEM".padEnd(20) + "TOTAL".padStart(5)); + for(let obj of order) { + let{itemName,quantity,unitPricePence} = obj; + total = quantity * unitPricePence; + let row = quantity.toString().padEnd(7) + itemName.padEnd(20) + total.toString().padStart(5); + console.log(row); +} +console.log("\nTotal: " + total.toString()); +} +receipt(order); \ No newline at end of file