Skip to content
This repository was archived by the owner on Jan 14, 2024. It is now read-only.
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
4 changes: 2 additions & 2 deletions mandatory/1-fix-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

*/

function getMood() {
function getMood(isHappy) {
Copy link

Choose a reason for hiding this comment

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

while you realized that you need to add the isHappy as a parameter there is still the case of variable shadowing that blocks this function to behave properly

Copy link
Author

Choose a reason for hiding this comment

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

still trying to understand these differences and their behaviour. however i believe i fixed it now 👍

let isHappy = true;

if (isHappy) {
Expand All @@ -21,7 +21,7 @@ function getMood() {
}

function greaterThan10(num) {
let isBigEnough;
let isBigEnough = Number > 10;
Copy link

Choose a reason for hiding this comment

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

the idea is good, however care must be taken to make sure variable names that mean the same value are named exactly the same throughout

Copy link
Author

Choose a reason for hiding this comment

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

true, fixed now 👍


if (isBigEnough) {
return "num is greater than 10";
Expand Down
50 changes: 44 additions & 6 deletions mandatory/2-function-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
1. the user should be 18 or older
2. the user must be logged in
*/
function isAcceptableUser(userAge, isLoggedIn) {}
function isAcceptableUser(userAge, isLoggedIn) {
return userAge >= 18 && isLoggedIn;
}

/*
Complete the function to apply discount percent based on how much is totalPrice in user cart.
Expand All @@ -15,26 +17,56 @@ function isAcceptableUser(userAge, isLoggedIn) {}
is applieds and 142.5 should be returned)
*/

function applyDiscount(totalPrice) {}
function applyDiscount(totalPrice) {
if (totalPrice > 200) {
return totalPrice * 0.9;
Copy link

Choose a reason for hiding this comment

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

having proper indenting inside functions and blocks is usually a good way to make sure code is readable. You should make sure to use an editor that has auto-indenting enabled as that helps making sure everything is in order

Copy link
Author

Choose a reason for hiding this comment

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

i'm using vsc, is there any extensions i can use for this?

} else {
return totalPrice * 0.95;
};
}

/*
Complete the function to print to the console the odd numbers between 1 and limit (use a while loop):
*/
function printOddNumbers(limit) {}
function printOddNumbers(limit) {
let number = 1;
while (number <= limit) {
if (number % 2 == 1) {
console.log(number);
}
number++;
};
}

/*
Complete the buyTwoGetTheCheapestFree function: if user buys two items, the cheapest item will be free!
The function should return the price to be paid once the discount is applied.
*/
function buyTwoGetTheCheapestFree(price1, price2) {}
function buyTwoGetTheCheapestFree(price1, price2) {
if (price1 > price2) {
return price1;
} else if (price2 > price1) {
return price2;
} else {
return price1||price2;
Copy link

Choose a reason for hiding this comment

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

If the price is the same then you can simply return whicever value

Copy link
Author

Choose a reason for hiding this comment

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

true! I thought this way i'd be showing that i'm aware there's no difference. but i guess code length and simplicity matters more.. edited now 👍

};
}

/*
Complete the function to determine if it is suitable for a person to register based on their age!
- if the person is 12 or younger it should return "You Are Too Young To Register"
- if the person is older than 12 and younger than 90 it should return "You Can Register"
- if the person is 90 or older it should return "You Don't Need To Register"
*/
function canRegister(age) {}
function canRegister(age) {
if (age < 13) {
Copy link

Choose a reason for hiding this comment

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

Prefer using <= and >= in case the text is defined that way to avoid differences between the specification and the solution

Copy link
Author

Choose a reason for hiding this comment

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

good point, thank you

return "You Are Too Young To Register";
} else if (age < 90) {
return "You Can Register";
} else {
return "You Don't Need To Register";
};
}

/*
Complete the function so that it prints out to the console numbers in reverse order starting at
Expand All @@ -45,7 +77,13 @@ function canRegister(age) {}
)
*/

function countReverse(number) {}
function countReverse(number) {

while (number > 0) {
console.log(number);
number--;
};
}

/* ======= TESTS - DO NOT MODIFY ===== */

Expand Down