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
5 changes: 4 additions & 1 deletion exercises/B-hello-world/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
console.log("Hello world");
console.log("hello world. give me your positive energy I need it to complete this course!");

console.log(7);
console.log('I will make it');
5 changes: 4 additions & 1 deletion exercises/C-variables/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Start by creating a variable `greeting`

var greeting = "hi Im elahe"
console.log(greeting);
console.log(greeting);
console.log(greeting);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👋 Hi Elahe!

3 changes: 2 additions & 1 deletion exercises/D-strings/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Start by creating a variable `message`

var message = "anyone can help me with terminal?"
var messagetype = typeof message;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
var messagetype = typeof message;
console.log(typeof message)

You can do this query right inside the console.log

console.log(message);
4 changes: 3 additions & 1 deletion exercises/E-strings-concatenation/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Start by creating a variable `message`

var greetingStart = "Hello, my name is ";
var name = "elahe";
var message = greetingStart + name;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Great! An even easier way to do this would be with template literals. Look in the example solution to find out what these are.

console.log(message);
5 changes: 4 additions & 1 deletion exercises/F-strings-methods/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Start by creating a variable `message`
var name = "Elahe";
var nameLength = name.length;

console.log(message);
console.log(nameLength);
console.log()
15 changes: 13 additions & 2 deletions exercises/F-strings-methods/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
const name = " Daniel ";
var name = " Elahe";
var nameLength = name.length;
console.log(nameLength);

let newString = (`my name is ${name} which includes ${nameLength} characters`);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Oh here you are using template literals! Hurray. Let's prefer this way of putting code inside strings in general.

console.log(newString);


console.log(newString.trim());
// why trim is not working here?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It's because newString doesn't have whitespace either side of it. The extra whitespace is now inside the string. That is to say, when the variable name is placed inside the newString, where is the whitespace going to end up?


console.log(name.trim());


console.log(message);
3 changes: 3 additions & 0 deletions exercises/G-numbers/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
// Start by creating a variables `numberOfStudents` and `numberOfMentors`
let numberOfStudents = 70;
let numberOfTeachers = 20;
console.log(numberOfStudents+numberOfTeachers);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍

12 changes: 12 additions & 0 deletions exercises/I-floats/exercise.js
Original file line number Diff line number Diff line change
@@ -1,2 +1,14 @@
var numberOfStudents = 15;
var numberOfMentors = 8;
var total = (numberOfStudents+numberOfMentors);
console.log(total);

let x = (numberOfStudents/total*100);
console.log(x);

let y = (numberOfMentors/total*100);
console.log(y);

console.log(Math.round(x));
console.log(Math.round(y));

11 changes: 10 additions & 1 deletion exercises/J-functions/exercise.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
function halve(number) {
// complete the function here
return number/2;
}

var result = halve(12);

console.log(result);

var result = halve(20);
console.log(result);

var result = halve(87);
console.log(result);
console.log(Math.round(result));


2 changes: 1 addition & 1 deletion exercises/J-functions/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
function triple(number) {
// complete function here
return number*3;
}

var result = triple(12);
Expand Down
3 changes: 2 additions & 1 deletion exercises/K-functions-parameters/exercise.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Complete the function so that it takes input parameters
function multiply() {
function multiply(num1, num2) {
// Calculate the result of the function and return it
return num1*num2;
}

// Assign the result of calling the function the variable `result`
Expand Down
4 changes: 3 additions & 1 deletion exercises/K-functions-parameters/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// Declare your function first
function divide(num1, num2){
return num1/num2;
}

var result = divide(3, 4);

Expand Down
6 changes: 4 additions & 2 deletions exercises/K-functions-parameters/exercise3.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// Write your function here

function createGreeting(name){
return name;
}
var greeting = createGreeting("Daniel");

console.log(greeting);
console.log(`hello my name is ${greeting}`);
6 changes: 4 additions & 2 deletions exercises/K-functions-parameters/exercise4.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
// Declare your function first

// Call the function and assign to a variable `sum`

console.log(sum);
function sum(num1, num2){
return num1+num2;
}
console.log(sum(13, 124));
3 changes: 3 additions & 0 deletions exercises/K-functions-parameters/exercise5.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
// Declare your function here
function createLongGreeting(name, age){
return (`i am ${name} and i am ${age} year old`)
}

const greeting = createLongGreeting("Daniel", 30);

Expand Down
23 changes: 18 additions & 5 deletions exercises/L-functions-nested/exercise.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
var mentor1 = "Daniel";
var mentor2 = "Irina";
var mentor3 = "Mimi";
var mentor4 = "Rob";
var mentor5 = "Yohannes";
function greeting(name){

return(`HELLO ${name}`);

}
console.log(greeting("daniel").toUpperCase());
console.log(greeting("irina").toUpperCase());
console.log(greeting("mimi").toUpperCase());
console.log(greeting("rob").toUpperCase());
console.log(greeting("yohannes").toUpperCase());



let mentor1 = "Daniel";
let mentor2 = "Irina";
let mentor3 = "Mimi";
let mentor4 = "Rob";
let mentor5 = "Yohannes";
9 changes: 7 additions & 2 deletions extra/1-currency-conversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
Write a function that converts a price to USD (exchange rate is 1.4 $ to £)
*/

function convertToUSD() {}
function convertToUSD(num) {
return num * 1.4
}

/*
CURRENCY CONVERSION
Expand All @@ -15,7 +17,10 @@ function convertToUSD() {}
They have also decided that they should add a 1% fee to all foreign transactions, which means you only convert 99% of the £ to BRL.
*/

function convertToBRL() {}
function convertToBRL(num) {
return Number(((num * 0.99) * 5.7).toFixed(2));

}

/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.
Expand Down
17 changes: 9 additions & 8 deletions extra/2-piping.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,27 @@
the final result to the variable goodCode
*/

function add() {

function add(num1, num2) {
return num1 + num2;
}

function multiply() {

function multiply(num1, num2) {
return num1 * num2;
}

function format() {

function format(num) {
return `£${num}`;
}

const startingValue = 2;

// Why can this code be seen as bad practice? Comment your answer.
let badCode =
let badCode = format(multiply(add(startingValue, 10), 2));
// badcode as it's a bit complicated to read

/* BETTER PRACTICE */

let goodCode =
let goodCode = (format(startingValue+10) * 2);

/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.
Expand Down
20 changes: 15 additions & 5 deletions mandatory/1-syntax-errors.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,28 @@
// 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;

}



function introduceMe(name, age){

return "Hello, my name is " + name + " and I am " + age + " years old";

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Fab!

}

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



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

return `The total is ${total}`;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

👍


return "The total is total";
}


/*
===================================================
======= TESTS - DO NOT MODIFY BELOW THIS LINE =====
Expand Down
16 changes: 12 additions & 4 deletions mandatory/2-logic-error.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
// 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
Member

Choose a reason for hiding this comment

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

👍

}



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

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🙌

}




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

@SallyMcGrath SallyMcGrath Nov 30, 2022

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes, or even just

Suggested change
return result;
return a * b * c

In this case we get no extra clarity from storing the expression in this result variable. Clarity is the goal!

}




/*
===================================================
======= TESTS - DO NOT MODIFY BELOW THIS LINE =====
Expand Down
9 changes: 7 additions & 2 deletions mandatory/3-function-output.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,21 @@
function getRandomNumber() {
return Math.random() * 10;
}
// MATH.RANDOM : to find a random number between 0 to 1. so tofind a number between 0 to 100 we need to multiple it to 100.

// Add comments to explain what this function does. You're meant to use Google!
function combine2Words(word1, word2) {
return word1.concat(word2);
}
}
// CONCAT: to mix arrays together we can use concat. the other way is spread operator.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I understand what you are saying here and this answer is correct. 🥇

A clearer way to say it might be to say link or connect instead of mix. Mix implies the values might be "mixed up" / disordered in the new array, but they retain their original sequence order.

CONCAT: to link arrays together we can use concat. the other way is spread operator.


function concatenate(firstWord, secondWord, thirdWord) {
return `${firstWord} ${secondWord} ${thirdWord}`;

}
// 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
16 changes: 14 additions & 2 deletions mandatory/4-tax.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
Sales tax is 20% of the price of the product.
*/

function calculateSalesTax() {}
function calculateSalesTax(num) {
return num * 1.2;

}

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

function addTaxAndFormatCurrency() {}
function addTaxAndFormatCurrency(num) {
let final = ((num * 1.2).toFixed(2)).toString();

@SallyMcGrath SallyMcGrath Nov 30, 2022

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this task is hinting for you to reuse the function you just wrote. Look up at calculateSalesTax. How can you use that function again here? How would using the function make this code clearer?

I also think this variable name could be clearer. Why is naming variables clearly a great way to improve our code?

return `£${final}`;

}

// function completed




/*
===================================================
Expand Down
12 changes: 9 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,21 @@
"url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues"
},
"jest": {
"setupFilesAfterEnv": ["jest-extended"],
"setupFilesAfterEnv": [
"jest-extended"
],
"projects": [
{
"displayName": "mandatory",
"testMatch": ["<rootDir>/mandatory/*.js"]
"testMatch": [
"<rootDir>/mandatory/*.js"
]
},
{
"displayName": "extra",
"testMatch": ["<rootDir>/extra/*.js"]
"testMatch": [
"<rootDir>/extra/*.js"
]
}
]
},
Expand Down