From 05b8512808ba4b17add642937942fc8e24d22481 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Fri, 3 Apr 2026 19:46:52 +0100 Subject: [PATCH 1/8] updted syntax to destructure the object --- Sprint-1/destructuring/exercise-1/exercise.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..de5c0f51 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -3,6 +3,8 @@ const personOne = { age: 34, favouriteFood: "Spinach", }; +let {name,age,favouriteFood}=personOne; + // Update the parameter to this function to make it work. // Don't change anything else. From cbecb77ec77ecd6438ebc2d6431552cd9c532836 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Fri, 3 Apr 2026 19:53:12 +0100 Subject: [PATCH 2/8] updated parameter to destructure the object argument --- Sprint-1/destructuring/exercise-1/exercise.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index de5c0f51..a26920ec 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -8,10 +8,10 @@ let {name,age,favouriteFood}=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}.` ); } -introduceYourself(personOne); +introduceYourself(personOne1); From cdbcc523948537a446f80ee9c4dcc11a61f59e12 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:17:54 +0100 Subject: [PATCH 3/8] extracted the names of those who belong to the house of Gryffindor --- Sprint-1/destructuring/exercise-2/exercise.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..3619faa5 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,9 @@ let hogwarts = [ occupation: "Teacher", }, ]; +for (let obj of hogwarts) { + let { firstName, lastName, house } = obj; + if (house === "Gryffindor") { + console.log(firstName, lastName); + } +} From 28ba478c6459871c5375c303c0e24485fb9957d1 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:24:01 +0100 Subject: [PATCH 4/8] display the names of teachers with pets --- Sprint-1/destructuring/exercise-2/exercise.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index 3619faa5..4cde636b 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -76,3 +76,10 @@ for (let obj of hogwarts) { console.log(firstName, lastName); } } + +for (let obj of hogwarts) { + let { firstName, lastName,pet,occupation } = obj; + if (occupation === "Teacher"&& pet!==null) { + console.log(firstName, lastName); + } +} \ No newline at end of file From ec7c3bda2d5cdc24d16f92ff77c7886a6a324112 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Fri, 3 Apr 2026 20:35:28 +0100 Subject: [PATCH 5/8] add loop to calculate and display total prices for order items --- Sprint-1/destructuring/exercise-3/exercise.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..11ceb75d 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,14 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +for(let item of order){ + let{itemName,quantity,unitPricePence}=item + let totalPence=quantity*unitPricePence + let totalPenceString=totalPence.toString() + let pence=totalPenceString.slice(-2) + let pounds=totalPenceString.slice(0,-2) + let total=`${pounds}.${pence}` + console.log(total); + +} \ No newline at end of file From 0d0f0e395b92f8debb344554fc3fa9ae563ed9c5 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Sat, 4 Apr 2026 10:00:58 +0100 Subject: [PATCH 6/8] fix: correct function call to use the proper variable name --- 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 a26920ec..f225fa02 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -14,4 +14,4 @@ function introduceYourself({name,age,favouriteFood}) { ); } -introduceYourself(personOne1); +introduceYourself(personOne); From 0dcbfed38717432c8376029b4e95be393b0e08f2 Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Mon, 6 Apr 2026 10:24:14 +0100 Subject: [PATCH 7/8] refactor: change order declaration to const and improve variable scoping --- Sprint-1/destructuring/exercise-3/exercise.js | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index 11ceb75d..7a2f600d 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -1,5 +1,5 @@ -let order = [ - { itemName: "Hot cakes", quantity: 1, unitPricePence: 232 }, +const order = [ + { itemName: "Hot Cakes", quantity: 1, unitPricePence: 232 }, { itemName: "Apple Pie", quantity: 2, unitPricePence: 139 }, { itemName: "Egg McMuffin", quantity: 1, unitPricePence: 280 }, { itemName: "Sausage McMuffin", quantity: 1, unitPricePence: 300 }, @@ -7,13 +7,15 @@ let order = [ { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; -for(let item of order){ - let{itemName,quantity,unitPricePence}=item - let totalPence=quantity*unitPricePence - let totalPenceString=totalPence.toString() - let pence=totalPenceString.slice(-2) - let pounds=totalPenceString.slice(0,-2) - let total=`${pounds}.${pence}` - console.log(total); - -} \ No newline at end of file +const allPrices = []; +for (const item of order) { + const { itemName, quantity, unitPricePence } = item; + const totalPence = quantity * unitPricePence; + const totalPenceString = totalPence.toString(); + const pence = totalPenceString.slice(-2); + const pounds = totalPenceString.slice(0, -2); + const total = `${pounds}.${pence}`; + allPrices.push(totalPence); + const totalBill = allPrices.reduce((acc, curr) => acc + curr); + console.log(totalBill); +} From 7cd8394045d94eb8d61c5e773706d72c60d479ee Mon Sep 17 00:00:00 2001 From: alexandru-pocovnicu <109530683+alexandru-pocovnicu@users.noreply.github.com> Date: Mon, 6 Apr 2026 10:57:55 +0100 Subject: [PATCH 8/8] calculate and display total bill correctly --- Sprint-1/destructuring/exercise-3/exercise.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index 7a2f600d..010d0722 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -7,7 +7,9 @@ const order = [ { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; +console.log("QTY ITEM TOTAL"); const allPrices = []; +let totalBill; for (const item of order) { const { itemName, quantity, unitPricePence } = item; const totalPence = quantity * unitPricePence; @@ -15,7 +17,12 @@ for (const item of order) { const pence = totalPenceString.slice(-2); const pounds = totalPenceString.slice(0, -2); const total = `${pounds}.${pence}`; + allPrices.push(totalPence); - const totalBill = allPrices.reduce((acc, curr) => acc + curr); - console.log(totalBill); + const totalBillString = String(allPrices.reduce((acc, curr) => acc + curr)); + totalBill = `${totalBillString.slice(0, -2)}.${totalBillString.slice(-2)}`; + console.log(quantity.toString().padEnd(7), itemName.padEnd(19), total); } +console.log(); + +console.log(`Total: ${totalBill}`);