Skip to content
This repository has been archived by the owner on Jan 14, 2024. It is now read-only.

final change- week2 #451

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all 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
11 changes: 4 additions & 7 deletions mandatory/1-fix-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,17 @@

*/

function getMood() {
let isHappy = true;

if (isHappy) {
function getMood(happy) {
if (happy == true) {

Choose a reason for hiding this comment

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

Since booleans can only be true or false you shouldn't need to check if happy is equal to true or false. Checking the variable happy should be enough to determine whether the mood is happy or not.

You can read more on booleans here: https://www.w3schools.com/js/js_booleans.asp

return "I am happy";
} else {
} else if (happy == false){

Choose a reason for hiding this comment

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

since happy can only be either true or false and we want to make sure to enter this block and return "I am not happy" when happy is false, the if else statement should be enough to determine what to return and we shouldn't need a happy == false check

return "I am not happy";
}
}

function greaterThan10(num) {
let isBigEnough;

if (isBigEnough) {
if (num>10) {

Choose a reason for hiding this comment

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

Nice one!

return "num is greater than 10";
} else {
return "num is not big enough";
Expand Down
56 changes: 50 additions & 6 deletions mandatory/2-function-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@
1. the user should be 18 or older
2. the user must be logged in
*/
function isAcceptableUser(userAge, isLoggedIn) {}
function isAcceptableUser(userAge, isLoggedIn) {
if (userAge>=18 && isLoggedIn===true){
return true;
}else if (userAge>18 && isLoggedIn===true){
return false;
}else {
return false;
}
}
Comment on lines +7 to +15

Choose a reason for hiding this comment

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

The condition to accept the user or not is determining whether userAge >= 18 and if the user is logged in

userAge >= 18 -> this statement should return a boolean, so if you assign it to a variable, that variable's type should be a boolean. You can see the example code to see this here:

let isUserAgeBigger = userAge >= 18;
console.log(typeof isUserAgeBigger); // this should be a boolean
console.log(isUserAgeBigger) // this should be the value of it

the variable isLoggedIn is already of type boolean, as you can see in the examples from the tests here

Since you only want a boolean return from this function, you could just evaluate the boolean expression, by returning the statement inside the first if condition, since it will only return true if the statement inside the if condition (userAge>=18 && isLoggedIn===true) is true.

So you could just do:

function isAcceptableUser(userAge, isLoggedIn) {
    return userAge>=18 && isLoggedIn===true
}

and it should return the behaviour above is doing.

Also since isLoggedIn is a boolean value, you do not need to check if it's equal to true or not. you should be able to directly use it in the conditions.


/*
Complete the function to apply discount percent based on how much is totalPrice in user cart.
Expand All @@ -15,26 +23,58 @@ 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;
}else if (totalPrice<200){
return totalPrice * 0.95;
}
}
Comment on lines +26 to +32

Choose a reason for hiding this comment

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

Nice one! ☝️

This is exactly how the else if statement should be used, because we have a third condition where the totalPrice could be exactly equal to 200, but we haven't been requested to make a discount when the totalPrice is 200!

We should also return totalPrice just to ensure we have all cases covered (even though i'm aware there are no tests for this 😅 feel free to add one and try it out ^^)


/*
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) {
for (let i = 1; i <= limit; i++) {
if (i % 2 === 1) {
console.log(i);
}
}
Comment on lines +38 to +42

Choose a reason for hiding this comment

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

Awesome 👌

}


/*
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 <= 0 || price2 <= 0) {
return "Invalid prices. Prices must be more than 0.";
}
Comment on lines +51 to +53

Choose a reason for hiding this comment

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

Nice 😊

if (price1 >= price2) {
return price1;
} else {
return price2;
}
}


/*
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 <= 12) {
return "You Are Too Young To Register"
} else if (age > 12 && age < 90) {
return"You Can Register"
}else if (age >= 90) {
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 +85,11 @@ function canRegister(age) {}
)
*/

function countReverse(number) {}
function countReverse(number) {
for (let i = number; i >= 1; i--) {
console.log(i);
}
}

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

Expand Down