diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..cbd60bee5 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,22 @@ console.log("Hello world"); + +//Try to`console.log()` something different.For example, 'Hello World. I just started learning JavaScript!'. +console.log("Hello World. I just started learning JavaScript!"); + +//Try to console.log() several things at once. +console.log("Hello World.", "How are you?"); + +// What happens when you get rid of the quote marks ? +// Code: console.log(Hello World., How are you?) +// Result: Syntax error + +// What happens when you console.log() just a number without quotes ? +console.log(3); +//result is the number 3 + + +//Overall result of code: +// Hello world +// Hello World.I just started learning JavaScript! +// Hello World.How are you ? +// 3 \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..4aa5472cd 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `greeting` - +let greeting = "Hello World!"; console.log(greeting); +console.log(greeting); +console.log(greeting); \ No newline at end of file diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..ba6448068 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let message = "This is a string."; console.log(message); +messageType = typeof message; +console.log(messageType); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..2754f9dce 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let name1 = "Omar"; +let message = "Hi " + name1 + ". Welcome aboard!"; console.log(message); +//Write a program that logs a message with a greeting and your name \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..d5d3a7b89 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let name1 = "Omar" +let message = "My name is " + name1 + " and my name is " + name1.length + " characters long."; console.log(message); + diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..c1a232ffe 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,3 @@ -const name = " Daniel "; - +const name1 = " Omar "; +let message = "My name is " + name1.trim() + " and my name is " + name1.trim().length + " characters long."; console.log(message); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..5ccfa2dc4 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,7 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 15; +console.log("Number of students is: " + numberOfStudents); +let numberOfMentors = 8; +console.log("Number of mentors is: " + numberOfMentors); +let message = "Total number of students and mentors is: " + (numberOfStudents + numberOfMentors); +console.log(message); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..353d70a23 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,10 @@ var numberOfStudents = 15; var numberOfMentors = 8; +var totalNumber = numberOfStudents + numberOfMentors; +let precisePercentageOfMentors = ((numberOfMentors / totalNumber) * 100); +let precisePercentageOfStudents = ((numberOfStudents / totalNumber) * 100); +let percentageOfStudents = Math.round(precisePercentageOfStudents); +let percentageOfMentors = Math.round(precisePercentageOfMentors); +console.log("Percentage students: " + percentageOfStudents + "%"); +console.log("Percentage mentors: " + percentageOfMentors + "%"); + diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..0fc4c3655 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,5 +1,6 @@ function halve(number) { // complete the function here + return number / 2; } var result = halve(12); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..468d45596 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,6 @@ function triple(number) { // complete function here + return number * 3; } var result = triple(12); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..f416fda85 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,8 @@ -// 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; } -// Assign the result of calling the function the variable `result` var result = multiply(3, 4); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..db4e7fb53 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,7 @@ // Declare your function first - +function divide(num1, num2) { + return num1 / num2; +} var result = divide(3, 4); - console.log(result); + diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..059846268 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,9 @@ // Write your function here - +function createGreeting(name) { + return "Hello, my name is " + name; +} var greeting = createGreeting("Daniel"); console.log(greeting); + +// Write a function that takes a name (a string) and returns a greeting \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..e625347d3 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ // Declare your function first - +function sumOfNumbers(num1, num2) { + return num1 + num2; +} +var sum = sumOfNumbers(13, 124); // Call the function and assign to a variable `sum` console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..73739f9fc 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,7 @@ // Declare your function here - +function createLongGreeting(name1, age) { + return `Hello, my name is ${name1} and I'm ${age} years old.`; +} const greeting = createLongGreeting("Daniel", 30); console.log(greeting); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..3f64deaec 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,41 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +// Exercise 1: +function percentageOfStudents(students, mentors) { + let total = students + mentors; + let percentageOfStudentsCalculation = (students / total) * 100; + return Math.round(percentageOfStudentsCalculation); +} +function percentageOfMentors(students, mentors) { + let total = students + mentors; + let percentageOfMentorsCalculation = (mentors / total) * 100; + return Math.round(percentageOfMentorsCalculation); +} +function message(students, mentors) { + let messageForStudents = `Percentage students: ${percentageOfStudents(15,8)}%` + messageForMentors = `Percentage Mentors: ${percentageOfMentors(15,8)}%`; + return [messageForStudents, messageForMentors] +} +let messages = message(15, 8); +console.log(messages); + +// ## Exercise 2 +function capitalLetterMessage(name) { + let shoutyComment = "Hello ".toUpperCase(); + return shoutyComment; +} +function capitalLetterName(name) { + let capitalName = capitalLetterMessage(name) + name.toUpperCase(); + return capitalName; +} +console.log(capitalLetterName(mentor1)); +console.log(capitalLetterName(mentor2)); +console.log(capitalLetterName(mentor3)); +console.log(capitalLetterName(mentor4)); +console.log(capitalLetterName(mentor2)); + +// - In `exercise2.js` you have been provided with the names of some mentors. Write a program that logs a shouty greeting to each one. +// - Your program should include a function that spells their name in uppercase, and a function that creates a shouty greeting. +// - Log each greeting to the console. \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 70a2fe863..095a2d667 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,12 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(poundValue) { + let convertedPrice = poundValue * 1.4; + return convertedPrice; +} +let convertedUSDValue = convertToUSD() +console.log(convertedUSDValue); /* CURRENCY FORMATTING @@ -15,9 +20,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(poundValue) { + let convertedPrice = (5.7*0.99) * poundValue; + return convertedPrice; +} +let convertedBRLValue = convertToBRL(); +console.log(convertedBRLValue); + -/* ======= TESTS - DO NOT MODIFY ===== +/* ======= TESTS - DO NOT MODIFY ===== `2 There are some Tests in this file that will help you work out if your code is working. To run these tests type `node 1-currency-conversion` into your terminal diff --git a/extra/2-piping.js b/extra/2-piping.js index 067dd0f5b..8800acc84 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,22 +16,26 @@ the final result to the variable goodCode */ -function add() { - +function add(startingValue, number2) { + let addedNumbers = startingValue + number2; + return addedNumbers; } -function multiply() { - +function multiply(startingValue, number2) { + let multipliedNumbers = startingValue * number2; + return multipliedNumbers; } -function format() { - +function format(number) { + let number1 = number.toString(); + return number; } const startingValue = 2 // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let foramtted = add(startingValue, 10) + multiply(startingValue, 2); +let badCode = format(badCode); /* BETTER PRACTICE */ diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index 0a21afd1b..7567bc588 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -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; } -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"; +} function getTotal(a, b) { - total = a ++ b; + total = a + b; - return "The total is total" + return "The total is " + total; } /* diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 3c578ad87..e5e326dc0 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -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(); } function getWordLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + let multiplied = a * b * c; + return multiplied; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index c9221a200..3b594a685 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -9,6 +9,8 @@ function s(w1, w2) { } function concatenate(firstWord, secondWord, thirdWord) { + let firstConcatenation = firstWord.concat(secondWord); + return firstConcatenation.concat(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. } @@ -40,16 +42,16 @@ function test(test_name, actual, expected) { test( "concatenate function - case 1 works", - concatenate("code", "your", "future"), + concatenate("code ", "your ", "future"), "code your future" ); test( "concatenate function - case 2 works", - concatenate("I", "like", "pizza"), + concatenate("I ", "like ", "pizza"), "I like pizza" ); test( "concatenate function - case 3 works", - concatenate("I", "am", 13), + concatenate("I ", "am ", 13), "I am 13" ); diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index c9e41c691..5767c8d7c 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,10 @@ Sales tax is 20% of the price of the product */ -function calculateSalesTax() {} +function calculateSalesTax(productPrice) { + let salesTax = productPrice + (productPrice * 0.2); + return salesTax +} /* CURRENCY FORMATTING @@ -17,8 +20,12 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} - +function addTaxAndFormatCurrency(productPrice) { + let productPriceWithTax = calculateSalesTax(productPrice); + let formatCurrency = (new Intl.NumberFormat('en-GB', { style: 'currency', currency: 'GBP' }).format(productPriceWithTax)) + return formatCurrency; + /*For the above formatting, I have used the following website: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat */ +} /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE =====