diff --git a/Sprint-1/destructuring/exercise-1/exercise.js b/Sprint-1/destructuring/exercise-1/exercise.js index 1ff2ac5c..90eb4795 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}.` ); diff --git a/Sprint-1/destructuring/exercise-2/exercise.js b/Sprint-1/destructuring/exercise-2/exercise.js index e11b75eb..d298f464 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 getGryffindors(arr) { + let Gryffindors = [] + for (let person of arr) { + if (person["house"] === "Gryffindor") { + Gryffindors.push(`${person["firstName"]} ${person.lastName}`); + } + } + return Gryffindors; +} +console.log(getGryffindors(hogwarts)); diff --git a/Sprint-1/destructuring/exercise-3/exercise.js b/Sprint-1/destructuring/exercise-3/exercise.js index b3a36f4e..de2b9485 100644 --- a/Sprint-1/destructuring/exercise-3/exercise.js +++ b/Sprint-1/destructuring/exercise-3/exercise.js @@ -6,3 +6,24 @@ let order = [ { itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 }, { itemName: "Hash Brown", quantity: 4, unitPricePence: 40 }, ]; + +function getReceipt(order) { + let total = 0; + let receiptLines = ["QTY ITEM TOTAL"]; + let itemLines = order.map(({ itemName, quantity, unitPricePence }) => { + const itemTotal = quantity * unitPricePence; + total += itemTotal; + const priceInPounds = (itemTotal / 100).toFixed(2); + + const quantityCol = String(quantity).padEnd(3, ' '); + const itemCol = itemName.padEnd(20, ' '); + const priceCol = `${priceInPounds}`.padStart(6, ' '); + + return `${quantityCol} ${itemCol} ${priceCol}`; + }); + receiptLines = receiptLines.concat(itemLines); + receiptLines.push(""); + receiptLines.push(`TOTAL: ${(total / 100).toFixed(2)}`); + return receiptLines.join('\n'); +} +console.log(getReceipt(order));