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

London10-Onur-Atas-JavaScript-Core-1-Coursework-Week2 #464

Open
wants to merge 2 commits 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: 6 additions & 5 deletions mandatory/1-fix-functions.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,23 +10,24 @@

*/

function getMood() {
let isHappy = true;
function getMood(mood) {
let isHappy = mood;

if (isHappy) {
if (isHappy === true) {
Comment on lines +14 to +16

Choose a reason for hiding this comment

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

Well done finding a valid solution, but a few notes:

Do you need to reassign "mood" here?

Also, on line 16, is there a shorter way to check if a variable is true?

return "I am happy";
} else {
return "I am not happy";
}
}

function greaterThan10(num) {
let isBigEnough;
let isBigEnough = num;

if (isBigEnough) {
if (isBigEnough > 10) {
Comment on lines +24 to +26

Choose a reason for hiding this comment

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

Do you need to reassign "num" here?

return "num is greater than 10";
} else {
return "num is not big enough";

}
}

Expand Down
89 changes: 69 additions & 20 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 {
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.

Do you need to explicitly compare "isLoggedIn" to true to achieve this result?

Should the else block start on a new line here? Refer back to the formatting in the 1-fix-function.js file.


/*
Complete the function to apply discount percent based on how much is totalPrice in user cart.
Expand All @@ -15,27 +23,64 @@ 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 {
return totalPrice * 0.95;

/*
}



}
Comment on lines +26 to +37

Choose a reason for hiding this comment

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

Read the requirements carefully, should you be checking if the totalPrice is greater or equal to 200?

Also, the else block should not be on a new line



/*let limit = 0;
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 = 0; i <= limit; i++) {
if (i % 2 === 1) {
console.log(i);
}
}


}
Comment on lines +43 to +52

Choose a reason for hiding this comment

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

Ensure you do not leave lots of unnecessary whitespace in functions.

Choose a reason for hiding this comment

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

Well done finding an alternative solution, but also ensure you read the requirements carefully, it asks for a while loop to be used.


/*
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 {
return price2;

}


}
Comment on lines +58 to +68

Choose a reason for hiding this comment

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

Ensure you do not leave lots of unnecessary whitespace in functions.

Also, the else block should not be on a newline.

/*
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 < 90) {
return "You Can Register";
} else {
return "You Don't Need To Register";
}
}
Comment on lines +75 to +83

Choose a reason for hiding this comment

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

Nice work

/*
Complete the function so that it prints out to the console numbers in reverse order starting at
number and going down to 1 (e.g. if number was 3, it would print:
Expand All @@ -45,7 +90,11 @@ function canRegister(age) {}
)
*/

function countReverse(number) {}
function countReverse(number) {
for (let i = number; i >= 1; i--) {
console.log(i);
}
}
Comment on lines +93 to +97

Choose a reason for hiding this comment

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

Nice work


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

Expand Down Expand Up @@ -90,11 +139,11 @@ describe("printOddNumbers", () => {
const consoleLogSpy = jest.spyOn(console, "log");

printOddNumbers(10);
expect(consoleLogSpy).toHaveBeenNthCalledWith(1,1);
expect(consoleLogSpy).toHaveBeenNthCalledWith(2,3);
expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5);
expect(consoleLogSpy).toHaveBeenNthCalledWith(4,7);
expect(consoleLogSpy).toHaveBeenNthCalledWith(5,9);
expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 1);
expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 3);
expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5);
expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 7);
expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 9);

consoleLogSpy.mockRestore();
});
Expand Down Expand Up @@ -141,13 +190,13 @@ describe("countReverse", () => {
const consoleLogSpy = jest.spyOn(console, "log");

countReverse(7);
expect(consoleLogSpy).toHaveBeenNthCalledWith(1,7);
expect(consoleLogSpy).toHaveBeenNthCalledWith(2,6);
expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5);
expect(consoleLogSpy).toHaveBeenNthCalledWith(4,4);
expect(consoleLogSpy).toHaveBeenNthCalledWith(5,3);
expect(consoleLogSpy).toHaveBeenNthCalledWith(6,2);
expect(consoleLogSpy).toHaveBeenNthCalledWith(7,1);
expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 7);
expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 6);
expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5);
expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 4);
expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 3);
expect(consoleLogSpy).toHaveBeenNthCalledWith(6, 2);
expect(consoleLogSpy).toHaveBeenNthCalledWith(7, 1);

consoleLogSpy.mockRestore();
});
Expand Down