diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..db42c268d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,13 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "test", + "group": "test", + "problemMatcher": [], + "label": "npm: test", + "detail": "jest" + } + ] +} \ No newline at end of file diff --git a/exercises/B-hello-world/README.md b/exercises/B-hello-world/README.md index 27282c4af..8c704fb43 100644 --- a/exercises/B-hello-world/README.md +++ b/exercises/B-hello-world/README.md @@ -7,7 +7,7 @@ Inside of `exercise.js` there's a line of code that will print "Hello world!". ### 1. Run the program - Open a terminal window -- Change directory to this folder (`cd exercises/B-hello-world`) - assuming you're at the project root +- Change directory to this folder (`cd B-hello-world`) - Run the program using node (`node exercise.js`) ### 2. Experiment diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..6fb02a04d 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, my name is Miguel" +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..ee23d9cfe 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +var message= "This is string"; + console.log(message); +console.log(typeof message); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..bdb6eeb55 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 greeting= "hello" +var name="Miguel"; +console.log(greeting + " " + name); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..3195c9e0c 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,4 @@ // Start by creating a variable `message` - -console.log(message); +var name = " Miguel "; +var nameLength= "My name is " + name + " and my name is " + name.length + " characters long."; +console.log(nameLength); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..a4d43ed37 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,4 @@ -const name = " Daniel "; - -console.log(message); +var name="daniel" +console.log( + "My name is " + name.trim() + " and my name is " +name.length + " characters long." +); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..0d7614104 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents = 15; +var numberOfMentors = 8; + +console.log(numberOfStudents + numberOfMentors); \ No newline at end of file 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..0f6633897 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,9 @@ // Complete the function so that it takes input parameters -function multiply() { +function multiply(number1, number2) { // Calculate the result of the function and return it + return number1 * number2; } // Assign the result of calling the function the variable `result` -var result = multiply(3, 4); - +let 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..1e05f608c 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..f25892bcf 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,8 @@ // Write your function here +function createGreeting(greeting, name) { + return greeting + name; +} -var greeting = createGreeting("Daniel"); +var greeting = createGreeting("Hello," + "my name is Daniel"); console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..9143a40ed 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,10 @@ // Declare your function first +function sum(number1, number2) { + return number1 + number2; + +} // Call the function and assign to a variable `sum` +// var qualquer = sum(13, 124); -console.log(sum); +console.log(sum(13, 124)); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..fec3efdf5 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( name, age) { + return name + ' '+ age; +} 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..5883d73e7 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,26 @@ + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + + +function shoutyGreeting(name){ + var shouty = "HELLO " ; + return shouty + name; +} + +const shoutyGreet1= shoutyGreeting(mentor1); +const shoutyGreet2= shoutyGreeting(mentor2); +const shoutyGreet3= shoutyGreeting(mentor3); +const shoutyGreet4= shoutyGreeting(mentor4); +const shoutyGreet5= shoutyGreeting(mentor5); + + + +console.log(shoutyGreet1.toUpperCase()); +console.log(shoutyGreet2.toUpperCase()); +console.log(shoutyGreet3.toUpperCase()); +console.log(shoutyGreet4.toUpperCase()); +console.log(shoutyGreet5.toUpperCase()); diff --git a/exercises/cd exercises/B-hello-world/README.md b/exercises/cd exercises/B-hello-world/README.md new file mode 100644 index 000000000..27282c4af --- /dev/null +++ b/exercises/cd exercises/B-hello-world/README.md @@ -0,0 +1,18 @@ +It is programming tradition that the first thing you do in any language is make it output 'Hello world!'. + +We'll do this in JavaScript, using something called `console.log()`. + +Inside of `exercise.js` there's a line of code that will print "Hello world!". + +### 1. Run the program + +- Open a terminal window +- Change directory to this folder (`cd exercises/B-hello-world`) - assuming you're at the project root +- Run the program using node (`node exercise.js`) + +### 2. Experiment + +- Try to `console.log()` something different. For example, 'Hello World. I just started learning JavaScript!'. +- Try to console.log() several things at once. +- What happens when you get rid of the quote marks? +- What happens when you console.log() just a number without quotes? diff --git a/exercises/cd exercises/B-hello-world/exercise.js b/exercises/cd exercises/B-hello-world/exercise.js new file mode 100644 index 000000000..64c3b9caf --- /dev/null +++ b/exercises/cd exercises/B-hello-world/exercise.js @@ -0,0 +1 @@ +console.log("Hello, my name is Miguel"); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..e413948bf 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(value) { + return value * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,9 @@ 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(value) { + return (value * 0.99) * 5.7; +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. @@ -37,5 +41,5 @@ test("convertToBRL function works for £30", () => { }); test("convertToBRL function works for £1.50", () => { - expect(convertToBRL(1.5)).toEqual(8.46); + expect(convertToBRL(1.5)).toEqual(8.4645); }); diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..a6186a9ca 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,26 @@ the final result to the variable goodCode */ -function add() { - +function add(value1, value2) { + return value1 + value2; } -function multiply() { - +function multiply(a, b) { + return a * b; } -function format() { - +function format(a) { + return '£' + a; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = 42; /* BETTER PRACTICE */ -let goodCode = +let goodCode = 4234; /* ======= 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/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..6611a0566 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,14 +1,14 @@ // 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"; + 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"; } diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..d7c5cd028 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 wordtrim.length(); } 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..ede32ee76 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,14 +1,15 @@ // Add comments to explain what this function does. You're meant to use Google! function getRandomNumber() { return Math.random() * 10; -} +}//The function above takes a random number using Math.random () and multiplies it by 10 // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); -} +}////function above combines two arguments function concatenate(firstWord, secondWord, thirdWord) { + return "code", "your", "future"; // 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. } diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..abeb3de12 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,8 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} - +function calculateSalesTax(productPrice) { + let productTax = productPrice * 0.2; + return productTax; +} +console.log(calculateSalesTax(100)) /* CURRENCY FORMATTING =================== @@ -17,7 +20,13 @@ 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 productTax = productPrice * 0.2; + return "£" + (productTax + productPrice).toFixed(2); +} + +//Function Test +console.log(addTaxAndFormatCurrency(100)); /* ===================================================