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
4 changes: 3 additions & 1 deletion exercises/B-hello-world/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
console.log("Hello world");
console.log("Hello world, I started learning Javascript");
console.log("Jello world");
console.log(10);
3 changes: 3 additions & 0 deletions 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`
const greeting = "Hello World";

console.log(greeting);
console.log(greeting);
console.log(greeting);
14 changes: 14 additions & 0 deletions exercises/D-strings/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
// Start by creating a variable `message`
// const message = "this is a string."
//const messageType = typeof message


const message = "this is a string.";
const messageType = typeof message;

console.log(message);
console.log(messageType);


const message1 = 56;
const messageType1 = typeof message1;

console.log(message1);
console.log(messageType1);
6 changes: 5 additions & 1 deletion exercises/E-strings-concatenation/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
// Start by creating a variable `message`
const greetingStart = "Hello, my name is ";
const myName = "Zaw Khing.";

console.log(message);
const greeting = greetingStart + myName ;

console.log(greeting);
9 changes: 7 additions & 2 deletions exercises/F-strings-methods/exercise.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
// Start by creating a variable `message`
const name = "Zaw Khing"
const nameLength = name.length;// Start by creating a variable `message`

//const myName = "My name is " + name + " and my name is " + nameLength + " characters long.";
//console.log (myName);

console.log("My name is " + name + " and my name is " + nameLength + " characters long.");

console.log(message);
9 changes: 7 additions & 2 deletions exercises/F-strings-methods/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
const name = " Daniel ";
//const name = " Daniel ";
const name = " Zaw Myo Khing ";
const nameTrimMethod = name.trim();
const nameLength = name.length;

console.log(message);
const myName = `My name is ${nameTrimMethod} and my name is ${nameLength} characters long.`

console.log(myName);
10 changes: 10 additions & 0 deletions exercises/G-numbers/exercise.js
Original file line number Diff line number Diff line change
@@ -1 +1,11 @@
// Start by creating a variables `numberOfStudents` and `numberOfMentors`

const numberOfStudents = 50;
const numberOfMentors = 10;

const totalPeople = numberOfStudents + numberOfMentors;

console.log("Number of students: " + numberOfStudents);
console.log("Number of mentors: " + numberOfMentors);
console.log("Total number of students and mentors: " + totalPeople);

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 sum = numberOfStudents + numberOfMentors;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Try to use let or const always and never var


var percentageStudents = (numberOfStudents / sum) * 100;
var students = Math.round(percentageStudents);

var percentageMentors = (numberOfMentors / sum) * 100;
var mentors = Math.round(percentageMentors);


console.log(`Percentage students: ${students}%`);
console.log(`Percentage mentors: ${mentors}%`);

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

var result = halve(12);
var result1 = halve(23);
var result2 = halve(56);

console.log(result);
console.log(result1);
console.log(result2);
5 changes: 5 additions & 0 deletions exercises/J-functions/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
function triple(number) {
// complete function here
return number * 3;
}

var result = triple(12);
var result1 = triple(1234);
var result2 = triple(0.2);

console.log(result);
console.log(result1);
console.log(result2);
6 changes: 3 additions & 3 deletions exercises/K-functions-parameters/exercise.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// Complete the function so that it takes input parameters
function multiply() {
// Calculate the result of the function and return it
function multiply(num1, num2) {
return num1 * num2; // Calculate the result of the function and return it
}

// Assign the result of calling the function the variable `result`
var result = multiply(3, 4);
const result = multiply(3, 4);

console.log(result);
6 changes: 5 additions & 1 deletion exercises/K-functions-parameters/exercise2.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// Declare your function first
function divide(num1, num2){
return num1 / num2;

}

var result = divide(3, 4);
const result = divide(3, 4);

console.log(result);
6 changes: 5 additions & 1 deletion exercises/K-functions-parameters/exercise3.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// Write your function here

function createGreeting(name){

return "Hello, My name is " + name;
}
var greeting = createGreeting("Daniel");

console.log(greeting);
//console.log(`Hello, My name is ${greeting}`);
8 changes: 7 additions & 1 deletion exercises/K-functions-parameters/exercise4.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
// Declare your function first

function addTwoNumbers(num1, num2){
//sum = num1 + num2;
return num1 + num2;
}
// Call the function and assign to a variable `sum`
var sum = addTwoNumbers(13,124);
//var sum = addTwoNumbers(15,1234);

console.log(sum);
//console.log((addTwoNumbers)(132,124));
8 changes: 7 additions & 1 deletion exercises/K-functions-parameters/exercise5.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
// Declare your function here
function createGreeting(name, age){

const greeting = createLongGreeting("Daniel", 30);
return `Hello, My name is ${name} and I'm ${age} years old`;
}

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

//(createLongGreeting)(`Hello, My name is ${greeting} and I'm ${greeting} years old`));
console.log(greeting);
17 changes: 17 additions & 0 deletions exercises/L-functions-nested/exercise.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,20 @@ var mentor2 = "Irina";
var mentor3 = "Mimi";
var mentor4 = "Rob";
var mentor5 = "Yohannes";


function getUpperCase(name){
return name.toUpperCase();
}

function greeting(name){
nameInUpperCase = getUpperCase(name);
const message = "Hello " + nameInUpperCase;
return message;
}

console.log(greeting(mentor1));
console.log(greeting(mentor2));
console.log(greeting(mentor3));
console.log(greeting(mentor4));
console.log(greeting(mentor5));
21 changes: 19 additions & 2 deletions extra/1-currency-conversion.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@
Write a function that converts a price to USD (exchange rate is 1.4 $ to £)
*/

function convertToUSD() {}
function convertToUSD(currency) {
return currency * 1.4;
}

const usDollar = convertToUSD(100);

console.log(usDollar);



/*
CURRENCY CONVERSION
Expand All @@ -15,7 +23,15 @@ 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(currency) {
const convertIncludingFees = currency * 5.7 * 0.99;
currencyInTwoDecimal = Number(convertIncludingFees.toFixed(2));
return currencyInTwoDecimal;

}
//const brazillianDollar = convertToBRL(100);

console.log(convertToBRL(100));

/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.
Expand All @@ -39,3 +55,4 @@ test("convertToBRL function works for £30", () => {
test("convertToBRL function works for £1.50", () => {
expect(convertToBRL(1.5)).toEqual(8.46);
});

19 changes: 11 additions & 8 deletions extra/2-piping.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,29 @@
the final result to the variable goodCode
*/

function add() {

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

function multiply() {

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

function format() {

function format(num1) {
return result = "£" + num1;
}

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));


/* BETTER PRACTICE */

let goodCode =
let goodCode = add(startingValue,10);
goodCode = multiply(goodCode, 2);
goodCode = format(goodCode);

/* ======= TESTS - DO NOT MODIFY =====
There are some Tests in this file that will help you work out if your code is working.
Expand Down
13 changes: 7 additions & 6 deletions mandatory/1-syntax-errors.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
// 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";
function introduceMe(name, age){
//return "Hello, my name is " + name + " and I am " + age + " years old";
return `Hello, my name is ${name} and I am ${age} years old`;
}

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

return "The total is total";
const total = a + b;
return "The total is " + total;
}

/*
Expand Down
10 changes: 6 additions & 4 deletions mandatory/2-logic-error.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
// The syntax for this function is valid but it has an error, find it and fix it.

function trimWord(word) {
return wordtrim();
wordtrim = 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.

You don't really use this variable so could get away with just directly returning word.trim()

return wordtrim;
}

function getStringLength(word) {
return "word".length();
wordLength = 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.

same as above - no need for separate variable

return wordLength;
}

function multiply(a, b, c) {
a * b * c;
return;
var sum = 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.

same

return sum;
}

/*
Expand Down
13 changes: 8 additions & 5 deletions mandatory/3-function-output.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
// Add comments to explain what this function does. You're meant to use Google!
function getRandomNumber() {
return Math.random() * 10;
function getRandomNumber() { //create function called getRandomNumber
return Math.random() * 10; //returns a random number between 0 and 9
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

If you want an integer (whole number) then you will still need to round this down. To do that, you can use Math.floor() (see here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor)

}

// Add comments to explain what this function does. You're meant to use Google!
function combine2Words(word1, word2) {
return word1.concat(word2);
function combine2Words(word1, word2) { //create function called combine2Words with 2 parameters
return word1.concat(word2); //returns concat() method joins two strings.
}

function concatenate(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.
return firstWord.concat(" ", secondWord, " ", thirdWord);
}

console.log(concatenate("code","your","future"));
console.log(concatenate("I","like","icecream"));
console.log(concatenate("I","am",19));
/*
===================================================
======= TESTS - DO NOT MODIFY BELOW THIS LINE =====
Expand Down
18 changes: 16 additions & 2 deletions mandatory/4-tax.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,13 @@
Sales tax is 20% of the price of the product.
*/

function calculateSalesTax() {}
function calculateSalesTax(productPrice) {
const salesTax = (productPrice / 100) * 20;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Where you have numbers that don't inherently mean anything e.g. 20 here, it's often good to assign them to a variable to make their meaning clear in the code e.g.:

const SALES_TAX_RATE = 20;
const salesTax = (productPrice / 100) * SALES_TAX_RATE;

If you're wondering why the caps, you'll often see constants expressed like this in JavaScript

const totalPrice = productPrice + salesTax;
return totalPrice;
}

console.log(calculateSalesTax(123));

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

function addTaxAndFormatCurrency() {}
function addTaxAndFormatCurrency(productPrice) {
const addTax = calculateSalesTax(productPrice);
const formatCurrency = addTax.toFixed(2);
return "£" + formatCurrency;
}

console.log(addTaxAndFormatCurrency(456));



/*
===================================================
Expand Down
Loading