Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Sprint-1/destructuring/exercise-1/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -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}.`
);
Expand Down
19 changes: 19 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,22 @@ let hogwarts = [
occupation: "Teacher",
},
];
// Task 1: Gryffindor members
for (let person of hogwarts) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This works well but you could maybe improve it by trying to use some higher order functions instead of an if inside a for loop. Can you see how you might use these?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have now refactored using higher‑order functions (filter + forEach) to remove manual loops and if‑conditions. This makes the logic clearer, more declarative, and easier to extend.

const { firstName, lastName, house } = person;

if (house === "Gryffindor") {
console.log(`${firstName} ${lastName}`);
}
}

// -----------------------------
// Task 2: Teachers With Pets
// -----------------------------
for (let person of hogwarts) {
const { firstName, lastName, occupation, pet } = person;

if (occupation === "Teacher" && pet) {
console.log(`${firstName} ${lastName}`);
}
}
20 changes: 20 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,23 @@ let order = [
{ itemName: "Hot Coffee", quantity: 2, unitPricePence: 100 },
{ itemName: "Hash Brown", quantity: 4, unitPricePence: 40 },
];

console.log("QTY ITEM TOTAL");

let grandTotal = 0;

for (let item of order) {
const { itemName, quantity, unitPricePence } = item;

const total = (quantity * unitPricePence) / 100;
grandTotal += total;

// Format columns using padding
const qtyCol = String(quantity).padEnd(7);
const itemCol = itemName.padEnd(20);
const totalCol = total.toFixed(2);

console.log(`${qtyCol}${itemCol}${totalCol}`);
}

console.log("\nTotal: " + grandTotal.toFixed(2));
Loading