Skip to content
Open
4 changes: 2 additions & 2 deletions Sprint-1/destructuring/exercise-1/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ const personOne = {

// Update the parameter to this function to make it work.
// Don't change anything else.
function introduceYourself(___________________________) {
function introduceYourself({ name, age, favouriteFood }) { // Object destructuring in function parameters.
console.log(
`Hello, my name is ${name}. I am ${age} years old and my favourite food is ${favouriteFood}.`
);
}

introduceYourself(personOne);
introduceYourself(personOne);
21 changes: 21 additions & 0 deletions Sprint-1/destructuring/exercise-2/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,3 +70,24 @@ let hogwarts = [
occupation: "Teacher",
},
];

function getGryffindorMembers(hogwarts) {
const people = hogwarts.filter(({ house }) => house === "Gryffindor");
people.forEach(({ firstName, lastName }) => {
console.log(`${firstName} ${lastName}`);
});
}

function getTeachersWithPets(hogwarts) {
const teachers = hogwarts.filter(
({ occupation, pet }) => occupation === "Teacher" && pet !== null
);
teachers.forEach(({ firstName, lastName }) => {
console.log(`${firstName} ${lastName}`);
});
}
getGryffindorMembers(hogwarts);

console.log();

getTeachersWithPets(hogwarts);
24 changes: 24 additions & 0 deletions Sprint-1/destructuring/exercise-3/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,27 @@ let order = [
{ itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 },
{ itemName: "Hash Brown", quantity: 4, unitPricePence: 40 },
];

function printReceipt(order) {
let total = 0;

console.log("QTY".padEnd(8) + "ITEM".padEnd(22) + "TOTAL");

order.forEach(({ quantity, itemName, unitPricePence }) => {
let itemTotal = quantity * unitPricePence;

total = total + itemTotal;

let priceInPounds = itemTotal / 100;

console.log(
quantity.toString().padEnd(8) +
itemName.padEnd(22) +
priceInPounds.toFixed(2)
);
});

console.log("\nTotal: " + (total / 100).toFixed(2));
}

printReceipt(order);
Loading