diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..a853fd4b 100644 --- a/Sprint-1/destructuring/exercise-1/exercise.js +++ b/Sprint-1/destructuring/exercise-1/exercise.js @@ -3,10 +3,11 @@ const personOne = { age: 34, favouriteFood: "Spinach", }; +const { 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}.` ); diff --git a/Sprint-1/destructuring/exercise-1/readme.md b/Sprint-1/destructuring/exercise-1/readme.md index 28ca6c3d..708850f9 100644 --- a/Sprint-1/destructuring/exercise-1/readme.md +++ b/Sprint-1/destructuring/exercise-1/readme.md @@ -30,4 +30,7 @@ console.log(`Batman is ${firstName}, ${lastName}`); # Exercise - What is the syntax to destructure the object `personOne` in exercise.js? + + -----> the syntax is: let/const {name, age, favouriteFood} = personOne; + - Update the parameter of the function `introduceYourself` to use destructuring on the object that gets passed in. diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..02037883 100644 --- a/Sprint-1/destructuring/exercise-2/exercise.js +++ b/Sprint-1/destructuring/exercise-2/exercise.js @@ -70,3 +70,28 @@ let hogwarts = [ occupation: "Teacher", }, ]; +// write your function here; Use Destructuring !!!! + +// Its much easier with destructuring. (first exercise) +function residentsOfGryffindor(hogwarts) { + let result = []; + for (let { firstName, lastName, house } of hogwarts) { + if (house === "Gryffindor") { + result.push(`${firstName} ${lastName}`); + } + } + return result.join("\n"); +} + +// second exercise; +function teacherWithPet(hogwarts) { + let result2 = []; + for (let { firstName, lastName, pet, occupation } of hogwarts) { + if (pet !== null && occupation === "Teacher") { + result2.push(`${firstName} ${lastName}`); + } + } + return result2.join("\n"); +} +console.log(residentsOfGryffindor(hogwarts)); +console.log(teacherWithPet(hogwarts)); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..fac8b22e 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,21 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; +// write your function here: +function orderReceipt(order) { + let total = 0; + + console.log(`${"QTY".padEnd(8)}${"ITEM".padEnd(25)}TOTAL`); + + for (let { itemName, quantity, unitPricePence } of order) { + let itemTotal = (unitPricePence * quantity) / 100; + total += itemTotal; + + console.log( + `${String(quantity).padEnd(8)}${itemName.padEnd(25)}${itemTotal.toFixed(2)}` + ); + } + + console.log(`\nTotal: ${total.toFixed(2)}`); +} +orderReceipt(order);