diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..a6b8c64d8 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1 @@ -console.log("Hello world"); +console.log("Hello World. I just started learning JavaScript!"); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..a01120326 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,5 @@ -// Start by creating a variable `greeting` +var greeting = "Hello world"; console.log(greeting); +console.log(greeting); +console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..344e5c1db 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,5 @@ -// Start by creating a variable `message` +var message = "This is a string"; +var messageType = typeof message; console.log(message); +console.log(messageType); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..81dbad022 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` +var greetingStart = "Hello, my name is "; +var name = "Daniel"; +var greeting = greetingStart + name; -console.log(message); +console.log(greeting); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..230a51316 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` +var name = "Daniel"; +var nameLength = name.length; +var message = "My name is " + name + " and my name is " + nameLength + " characters long"; console.log(message); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..3d5d36726 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,5 @@ -const name = " Daniel "; +const name = "Daniel ".trim(); +var nameLength = name.length; +var message = "My name is " + name + " and my name is " + nameLength + " characters long"; console.log(message); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..b5c302e5f 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,8 @@ -// Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents = 15; +var numberOfMentors = 8; + +var total = numberOfStudents + numberOfMentors; + +console.log("Number of students: " + numberOfStudents) +console.log("Number of mentors: " + numberOfMentors) +console.log("Total numnber of students and mentors: " + total); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..078ed7540 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,12 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +var total = numberOfStudents + numberOfMentors; + +var percent = 100 / total; + +var numberOfStudentsPercent = Math.round(percent * numberOfStudents); +var numberOfMentorsPercent = Math.round(percent * numberOfMentors); + +console.log("Number of students: " + numberOfStudentsPercent + "%") +console.log("Number of mentors: " + numberOfMentorsPercent + "%") diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..648befa3e 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,5 +1,6 @@ -function halve(number) { - // complete the function here +function halve(number) +{ + return number / 2; } var result = halve(12); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..1cba5ed23 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,6 @@ -function triple(number) { - // complete function here +function triple(number) +{ + 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..bdc3caa1c 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(number1, number2) +{ + return number1 * number2; } -// Assign the result of calling the function the variable `result` var result = multiply(3, 4); console.log(result); diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..211539f4e 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,4 +1,7 @@ -// Declare your function first +function divide(number1, number2) +{ + return number1 / number2; +} var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..feaca034c 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,7 @@ -// Write your function here - +function createGreeting(name) +{ + return "Hello, my name is " + name; +} var greeting = createGreeting("Daniel"); console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..6ad905e33 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,7 @@ -// Declare your function first - -// Call the function and assign to a variable `sum` +function add(num1, num2) +{ + return num1 + num2; +} +var sum = add(13, 124); console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..caae16df3 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,4 +1,7 @@ -// Declare your function here +function createLongGreeting(name, num) +{ + return "Hello, my name is " + name + " and I'm " + num + " years old"; +} const greeting = createLongGreeting("Daniel", 30); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..b2d5fccff 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,20 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function createGreeting(mentor) +{ + return ("hello " + mentor).toUpperCase(); +} + +const greeting1 = createGreeting(mentor1); +const greeting2 = createGreeting(mentor2); +const greeting3 = createGreeting(mentor3); +const greeting4 = createGreeting(mentor4); +const greeting5 = createGreeting(mentor5); + +console.log(greeting1); +console.log(greeting2); +console.log(greeting3); +console.log(greeting4); +console.log(greeting5); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..8f51138c0 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,10 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(amount) +{ + return amount * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +18,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(amount) +{ + return parseFloat(((amount * 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. diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..39b7f5f88 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -5,7 +5,6 @@ - one that adds 2 numbers together - one that multiplies 2 numbers together - one that formats a number so it's returned as a string with a £ sign before it (e.g. 20 -> £20) - 2. Using the variable startingValue as input, perform the following operations using your functions all on one line (assign the result to the variable badCode): - add 10 to startingValue @@ -16,26 +15,38 @@ 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(num1) +{ + return "£" + num1.toString(); } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +//This code is bad because it leaves a mess behind without cleaning up the code. It also does too many calcualations which cant ebe done in one claculation. +let badCode = 0; +//let badCode = 0 + startingValue; +badCode = startingValue + badCode;;//this should work, i dont know +badCode = badCode * startingValue;//does this equal 4? +badCode = startingValue * 12;//this should be enough +badCode = "£" + badCode; +console.log(badCode);//this might work -/* BETTER PRACTICE */ -let goodCode = +/* BETTER PRACTICE */ +let goodCode = 0; +goodCode = "£" + ((goodCode + startingValue) * 12); +console.log(goodCode); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..62cc6a899 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,8 +45,31 @@ // This should log "The ball has shaken!" // and return the answer. -function shakeBall() { - //Write your code in here +function shakeBall() +{ + const answer = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + "Concentrate and ask again.", + "Don't count on it.", + "My reply is no.", + "My sources say no.", + "Outlook not so good.", + "Very doubtful."]; + console.log("The ball has shaken!"); + return answer[Math.floor(Math.random() * answer.length)]; } /* @@ -58,8 +81,27 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ -function checkAnswer(answer) { - //Write your code in here +function checkAnswer(answer) +{ + if (answer === ("It is certain.") || answer === ("It is decidedly so.") || answer === ("Without a doubt.") || answer === ("Yes - definitely.") || answer === ("You may rely on it.")) + { + return "very positive" + } + + else if (answer === ("As I see it, yes.") || answer === ("Most likely.") || answer === ("Outlook good.") || answer === ("Yes.") || answer === ("Signs point to yes.")) + { + return "positive" + } + + else if (answer === ("Reply hazy, try again.") || answer === ("Ask again later.") || answer === ("Better not tell you now.") || answer === ("Cannot predict now.") || answer === ("Concentrate and ask again.")) + { + return "negative" + } + + else if (answer === ("Don't count on it.") || answer === ("My reply is no.") || answer === ("My sources say no.") || answer === ("Outlook not so good.") || answer === ("Very doubtful.")) + { + return "very negative" + } } /* diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..dbda99125 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,20 @@ // There are syntax errors in this code - can you fix it to pass the tests? -function addNumbers(a b c) { - return 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 getTotal(a, b) { - total = a ++ b; - - return "The total is total"; +{ + return "Hello, my name is " + name + " and I am " + age + " years old"; +} + +function getTotal(a, b) +{ + total = a + b; + + return "The total is " + total; } /* diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..ef284556e 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -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(); +function trimWord(word) +{ + return word.trim(); } - -function getStringLength(word) { - return "word".length(); + +function getStringLength(word) +{ + return word.length; } - -function multiply(a, b, c) { - a * b * c; - return; + +function multiply(a, b, c) +{ + return a * b * c; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..680fd29d8 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,16 +1,20 @@ // Add comments to explain what this function does. You're meant to use Google! -function getRandomNumber() { - return Math.random() * 10; +function getRandomNumber() +{ + //This function gets a random number between 0 and 1 and returns the result after multiplying the random number and the 10. + return Math.random() * 10; } - -// Add comments to explain what this function does. You're meant to use Google! -function combine2Words(word1, word2) { - return word1.concat(word2); + + // Add comments to explain what this function does. You're meant to use Google! +function combine2Words(word1, word2) +{ + //This function joins the two words together and then its returns the value. + return word1.concat(word2); } - -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. + +function concatenate(firstWord, secondWord, thirdWord) +{ + return firstWord.concat(" ", secondWord, " ", thirdWord); } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..66d439e67 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(num1) +{ + return num1 * 1.2; +} /* CURRENCY FORMATTING @@ -13,11 +16,13 @@ function calculateSalesTax() {} The business has informed you that prices must have 2 decimal places They must also start with the currency symbol Write a function that adds tax to a number, and then transforms the total into the format £0.00 - Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(num2) +{ + return "£" + calculateSalesTax(num2).toFixed(2); +} /* ===================================================