diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..55caa7630 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,5 @@ -console.log("Hello world"); +console.log("Hello world I just started learning JavaScript!"); +console.log("1"); +console.log(1); + + diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..c4da9d78c 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `greeting` - +var greeting = "Hello World"; console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..9e97df5a4 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` +var message = "This is a string"; -console.log(message); +console.log(message + "\n" + typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..907e4189e 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - -console.log(message); +var myName = "Selahaddin"; +var message = "Hello, my name is "; +console.log(message + myName); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..fd5fcdab4 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,3 @@ // Start by creating a variable `message` - -console.log(message); +var myName = "Selahaadin" +console.log("My name is " + myName + " and my name is " + myName.length + " characters long."); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..9a5279f70 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,9 @@ -const name = " Daniel "; +const myName = " Daniel "; -console.log(message); +console.log( + "My name is " + + myName.trim() + + " and my name is " + + myName.trim().length + + " characters long." +); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..a8d3c1f3f 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,7 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents = 15; +var numberOfMentors = 10; + +console.log('Number of students: ' + numberOfStudents); +console.log('Number of mentors: ' + numberOfMentors); +console.log('Total number of students and mentors: ' + (numberOfStudents + numberOfMentors)); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..dc70a2855 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,13 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +var percentageOfStudents = (numberOfStudents * 100) / (numberOfStudents + numberOfMentors); +var percentageOfMentors = + (numberOfMentors * 100) / (numberOfStudents + numberOfMentors); + +console.log( "Percantage students: " + + Math.round(percentageOfStudents) + + "%" ); +console.log( "Percentage mentors: " + + Math.round(percentageOfMentors) + + "%" ); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..cbf53285c 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,8 @@ function halve(number) { // complete the function here + return number / 2; } var result = halve(12); - +result = halve(1); console.log(result); 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..a4eed9d76 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -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` diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..34cebc84a 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,9 @@ // Declare your function first +function divide(a, b) { + return a / b; +} + 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..8aaea4624 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); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..48135de5f 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first -// Call the function and assign to a variable `sum` +function add(a, b) { + return a + b; +} +// Call the function and assign to a variable `sum` +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..a0dbfecae 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,9 @@ // Declare your function here +function createLongGreeting(name, age) { + return "Hello, my name is " + name + " 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..69f7819ad 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,20 @@ + +function makeUpperCase(str) { + return str.toUpperCase(); +} + +function shoutyGreeting(firstName) { + return "HELLO " + makeUpperCase(firstName); +} + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +console.log(shoutyGreeting(mentor1)); +console.log(shoutyGreeting(mentor2)); +console.log(shoutyGreeting(mentor3)); +console.log(shoutyGreeting(mentor4)); +console.log(shoutyGreeting(mentor5)); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index d82e59480..5ffc6d065 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,9 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(pound) { + return pound * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,11 @@ 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(pound) { + let fee = pound * 0.01; + pound = pound - fee; + return parseFloat((pound * 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 9c8ebc76a..3e63adbb2 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,29 @@ 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(number) { + return '£' + number; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +// It's hard to read and difficult to debug. +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. diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index f3adbefa5..24c6062d1 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -47,6 +47,24 @@ // and return the answer. function shakeBall() { //Write your code in here + + let veryPositiveAnswers = ["It is certain.","It is decidedly so.", "Without a doubt.", "Yes - definitely.", "You may rely on it."]; + let positiveAnswers = ["As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes."]; + let negativeAnswers = ["Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again."]; + let veryNegativeAnswers = ["Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."]; + + let randomNumber = Math.floor(Math.random() * veryPositiveAnswers.length); + + let randomAnswer = [ + veryPositiveAnswers[randomNumber], + positiveAnswers[randomNumber], + negativeAnswers[randomNumber], + veryNegativeAnswers[randomNumber], + ]; + + let randomNumber2 = Math.floor(Math.random() * randomAnswer.length); + console.log("The ball has shaken!"); + return randomAnswer[randomNumber2]; } /* @@ -60,6 +78,20 @@ function shakeBall() { */ function checkAnswer(answer) { //Write your code in here + 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..8a817bf5a 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -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"; +} 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 9cca7603b..37c4ebc15 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,15 @@ // 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 getStringLength(word) { - return "word".length(); + return word.length; } function multiply(a, b, c) { - a * b * c; - return; + return a * b * c; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..c5024a0fb 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,9 +1,12 @@ // Add comments to explain what this function does. You're meant to use Google! +//This function returns a random number between 0 (inclusive), and 1 (exclusive): function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +//This function concatenates two or more strings, and returns a new joined strings + function combine2Words(word1, word2) { return word1.concat(word2); } @@ -11,6 +14,8 @@ function combine2Words(word1, 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. +return firstWord + " ".concat(secondWord) + " ".concat(thirdWord); + } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..0cfa3674c 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,12 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} + +function calculateSalesTax(price) { + var salesTax = price * 0.2; + salesPrice = price + salesTax; + return salesPrice; +} /* CURRENCY FORMATTING @@ -17,7 +22,9 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + return "£" + calculateSalesTax(price).toFixed(2); +} /* ===================================================