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 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
14 changes: 7 additions & 7 deletions mandatory/1-syntax-errors.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// There are syntax errors in this code - can you fix it to pass the tests?

function addNumbers(a b c) {
function addNumbers(a, b, c) {
return a + b + c;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Correct, as you can see, we need to separate the function parameters by a comma each while defining them inside the function definition.


function introduceMe(name, age)
return "Hello, my name is " + name "and I am " age + "years old";

function introduceMe(name, age){
return "Hello, my name is " + name + " and I am " + age + " years old";
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's right, we need plus between Strings in order to concatenate them either with other Strings or variables.

function getTotal(a, b) {
total = a ++ b;
total = a + b;

return "The total is total";
return "The total is " + total;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's right, you cannot use ++ to add to values together, ++ is just used to increase the value of a variable by 1.


/*
Expand All @@ -27,7 +27,7 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 1-s

test("addNumbers adds numbers correctly", () => {
expect(addNumbers(3, 4, 6)).toEqual(13);
});
});

test("introduceMe function returns the correct string", () => {
expect(introduceMe("Sonjide", 27)).toEqual(
Expand Down
8 changes: 4 additions & 4 deletions mandatory/2-logic-error.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// The syntax for this function is valid but it has an error, find it and fix it.

function trimWord(word) {
return wordtrim();
return word.trim();
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

As you did in the question above, there is no such function as wordtrim(), but there is one called trim().


function getStringLength(word) {
return "word".length();
return word.length;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Yeap that's right, you cannot wrap a variable with "" as JavaScript would think it is a String value if you did.


function multiply(a, b, c) {
a * b * c;
return;
return a * b * c;

}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's true, the return keyword and your operation must be in the same line. Or, another thing you can do is you can define a variable and and make it equal to a * b * c. After doing that, you can directly return the variable.


/*
Expand Down
1 change: 1 addition & 0 deletions mandatory/3-function-output.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ function combine2Words(word1, word2) {
}

function concatenate(firstWord, secondWord, thirdWord) {
return firstWord + ' ' + secondWord + ' ' + thirdWord

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's right, you can concatenate multiple String variables simply by how you did.

// Write the body of this function to concatenate three words together.
// Look at the test case below to understand what this function is expected to return.
}
Expand Down
10 changes: 8 additions & 2 deletions mandatory/4-tax.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
Sales tax is 20% of the price of the product.
*/

function calculateSalesTax() {}
function calculateSalesTax(price) {
return price + (price * (20 / 100 ))
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's correct, in order to calculate the tax, you can multiply the value by 20 and then divide it by 100. And then to find the final price, you can add it to the original price.


/*
CURRENCY FORMATTING
Expand All @@ -17,7 +19,11 @@ function calculateSalesTax() {}
Remember that the prices must include the sales tax (hint: you already wrote a function for this!)
*/

function addTaxAndFormatCurrency() {}
function addTaxAndFormatCurrency(price) {
tax = calculateSalesTax(price);//calculating tax
//final_price = price + tax; //calculating final price
return `£${tax.toFixed(2)}`;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That is right, you can easily format your value by using String interpolation, and you can use the function toFixed() to convert a number into specified number of digits.


/*
===================================================
Expand Down
6 changes: 6 additions & 0 deletions mandatory/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function calculateSalesTax(price) {
return price + (price * (20 / 100 ))
}
//console.log(calculateSalesTax(10));
tax = calculateSalesTax(100)
console.log(tax)