From 231b374bb389ee4d9170114489a04abf7f786bc9 Mon Sep 17 00:00:00 2001 From: mgphone Date: Mon, 30 Dec 2024 03:23:20 +0000 Subject: [PATCH 1/5] destructuring exercise one --- Sprint-1/destructuring/exercise-1/exercise.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..c73b6722 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -6,10 +6,18 @@ const personOne = { // Update the parameter to this function to make it work. // Don't change anything else. -function introduceYourself(___________________________) { +function introduceYourself(person) { + const {name,age,favouriteFood}=person console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); } introduceYourself(personOne); + +// # Exercise + +// - What is the syntax to destructure the object `personOne` in exercise.js? +// - Update the parameter of the function `introduceYourself` to use destructuring on the object that gets passed in. + +// PersonOne is calling the Object as paraameter of the function introduceYourself \ No newline at end of file From ad16d9fb9b9cad1edb3e0cf3a3184abba6adbae5 Mon Sep 17 00:00:00 2001 From: mgphone Date: Mon, 30 Dec 2024 04:04:42 +0000 Subject: [PATCH 2/5] exercise 2 test done --- Sprint-1/destructuring/exercise-2/exercise.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..42df091b 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,14 @@ let hogwarts = [ occupation: "Teacher", }, ]; +function task1(){ + let result=hogwarts.filter(ele=>ele.house==="Gryffindor") + return result.map(ele=>ele.firstName+" "+ele.lastName) +} +function task2(){ + let result=hogwarts.filter(ele=>ele.pet!==null&&ele.occupation=="Teacher"&&ele.house=="Gryffindor") + return result.map(({firstName,lastName})=>firstName+" "+lastName) + +} + +console.log(task2()) \ No newline at end of file From 5181dcedc27c14a4c24102e7470dbb0be287afc1 Mon Sep 17 00:00:00 2001 From: mgphone Date: Mon, 30 Dec 2024 05:15:27 +0000 Subject: [PATCH 3/5] desctructing array --- Sprint-1/destructuring/exercise-3/exercise.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..8bb77d57 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,15 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +const newOrder=order.map(({quantity,itemName,unitPricePence})=>({quantity,itemName,unitPricePence:twoDigitNumber(unitPricePence*quantity)})) + +function twoDigitNumber(value){ + return (value/100).toFixed(2) +} +function totalResult(newOrder){ + return newOrder.reduce((a,{unitPricePence})=>a+Number(unitPricePence),0).toFixed(2) + +} +console.log(newOrder) +console.log("Total: "+totalResult(newOrder)) \ No newline at end of file From 4a3f0e798c7b5aef5fe897cb4b4af1290da8337a Mon Sep 17 00:00:00 2001 From: mgphone Date: Tue, 31 Dec 2024 04:46:09 +0000 Subject: [PATCH 4/5] recode as review --- Sprint-1/destructuring/exercise-1/exercise.js | 6 ++--- Sprint-1/destructuring/exercise-2/exercise.js | 19 ++++++++------ Sprint-1/destructuring/exercise-3/exercise.js | 25 +++++++++++++------ 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index c73b6722..643bc3d7 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -6,8 +6,8 @@ const personOne = { // Update the parameter to this function to make it work. // Don't change anything else. -function introduceYourself(person) { - const {name,age,favouriteFood}=person +function introduceYourself({ name, age, favouriteFood }) { + // const {name,age,favouriteFood}=person console.log( `Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.` ); @@ -20,4 +20,4 @@ introduceYourself(personOne); // - What is the syntax to destructure the object `personOne` in exercise.js? // - Update the parameter of the function `introduceYourself` to use destructuring on the object that gets passed in. -// PersonOne is calling the Object as paraameter of the function introduceYourself \ No newline at end of file +// PersonOne is calling the Object as paraameter of the function introduceYourself diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index 42df091b..88c6e22e 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,14 +70,17 @@ let hogwarts = [ occupation: "Teacher", }, ]; -function task1(){ - let result=hogwarts.filter(ele=>ele.house==="Gryffindor") - return result.map(ele=>ele.firstName+" "+ele.lastName) +function task1() { + let result = hogwarts.filter(({ house }) => house === "Gryffindor"); + // return result.map((ele) => ele.firstName + " " + ele.lastName); + return result.map(({ firstName, lastName }) => firstName + " " + lastName); } -function task2(){ - let result=hogwarts.filter(ele=>ele.pet!==null&&ele.occupation=="Teacher"&&ele.house=="Gryffindor") - return result.map(({firstName,lastName})=>firstName+" "+lastName) - +function task2() { + let result = hogwarts.filter( + ({ pet, occupation, house }) => + pet !== null && occupation == "Teacher" && house == "Gryffindor" + ); + return result.map(({ firstName, lastName }) => firstName + " " + lastName); } -console.log(task2()) \ No newline at end of file +console.log(task2()); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index 8bb77d57..e8b7463a 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -7,14 +7,23 @@ let order = [ { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; -const newOrder=order.map(({quantity,itemName,unitPricePence})=>({quantity,itemName,unitPricePence:twoDigitNumber(unitPricePence*quantity)})) +const newOrder = order.map(({ quantity, itemName, unitPricePence }) => ({ + quantity, + itemName, + unitPricePence: twoDigitNumber(unitPricePence * quantity), +})); -function twoDigitNumber(value){ - return (value/100).toFixed(2) +function twoDigitNumber(value) { + return (value / 100).toFixed(2); } -function totalResult(newOrder){ - return newOrder.reduce((a,{unitPricePence})=>a+Number(unitPricePence),0).toFixed(2) - +function totalResult(newOrder) { + return newOrder + .reduce((a, { unitPricePence }) => a + Number(unitPricePence), 0) + .toFixed(2); } -console.log(newOrder) -console.log("Total: "+totalResult(newOrder)) \ No newline at end of file +// console.log(newOrder); +console.log("QTY ITEM TOTAL"); +newOrder.map(({ quantity, itemName, unitPricePence }) => + console.log(`${quantity} ${itemName} ${unitPricePence}`) +); +console.log("Total: " + totalResult(newOrder)); From 8e0c8388c6dc12ad5f1be43f86d6596725021e3d Mon Sep 17 00:00:00 2001 From: mgphone Date: Tue, 31 Dec 2024 14:15:45 +0000 Subject: [PATCH 5/5] align by review --- Sprint-1/destructuring/exercise-3/exercise.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index e8b7463a..335200a9 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -22,8 +22,13 @@ function totalResult(newOrder) { .toFixed(2); } // console.log(newOrder); -console.log("QTY ITEM TOTAL"); +// console.log("QTY ITEM TOTAL"); +console.log("QTY".padEnd(10) + "ITEM".padEnd(20) + "TOTAL".padEnd(6)); newOrder.map(({ quantity, itemName, unitPricePence }) => - console.log(`${quantity} ${itemName} ${unitPricePence}`) + console.log( + `${quantity.toString().padEnd(6)}${itemName + .toString() + .padEnd(20)}${unitPricePence.toString().padEnd(6)}` + ) ); console.log("Total: " + totalResult(newOrder));