diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 000000000..2404ad5a7 Binary files /dev/null and b/.DS_Store differ diff --git a/exercises/.DS_Store b/exercises/.DS_Store new file mode 100644 index 000000000..93f46191e Binary files /dev/null and b/exercises/.DS_Store differ diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..14fb99d7b 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,2 @@ console.log("Hello world"); + diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..9fd6c22e0 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); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..8263a1f1e 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - -console.log(message); +let greeting = "This is a string"; +let greetingType = typeof greeting; +console.log(greeting); +console.log(greetingType); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..30f38d093 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +let greetingStart = "Hello, my name is "; +let name = "Saghar"; +let 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..ee22172f2 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,9 @@ -// Start by creating a variable `message` +let greetingStart = "Hello, my name is "; +let firstName = "Saghar"; +let greeting = greetingStart + firstName; +let nameLength = firstName.length; -console.log(message); +console.log(greeting + " and my name is " + nameLength + " characters long"); + +// let nameLowerCase = firstName.toLowerCase(); +// console.log(nameLowerCase); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..b73327e88 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,8 @@ const name = " Daniel "; -console.log(message); +let greetingStart = "Hello, my name is "; + +let greeting = greetingStart + name.trim(); +let nameLength = name.length; + +console.log(greeting + " and my name is " + nameLength + " characters long"); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..d181b262e 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; + +let numberOfMentors = 8; + +let total = numberOfStudents + numberOfMentors; + +console.log(total); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..435cef410 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,7 @@ var numberOfStudents = 15; var numberOfMentors = 8; +let total = numberOfStudents + numberOfMentors; +let studentPercentage = Math.round((numberOfStudents / total) * 100); +let mentorPercentage = Math.round((numberOfMentors / total) * 100); +console.log(studentPercentage + "%"); +console.log(mentorPercentage + "%"); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..e7278f7bd 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,5 +1,5 @@ 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..853ef62bd 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,5 +1,5 @@ function triple(number) { - // complete function here + return number * 6; } var result = triple(12); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..c15480416 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,6 +1,6 @@ // Complete the function so that it takes input parameters -function multiply() { - // Calculate the result of the function and return it +function multiply(a, b) { + return a * b; } // 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..158155740 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,8 @@ // Declare your function first +function divide(cat, dog) { + return cat / dog; +} -var result = divide(3, 4); +var result = divide(4, 2); console.log(result); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..bed59804f 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,4 +1,6 @@ -// Write your function here +function createGreeting(name) { + return "Hello, my name is " + name; +} var greeting = createGreeting("Daniel"); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..23a16d416 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,8 @@ // Declare your function first // Call the function and assign to a variable `sum` +function sum(a, b) { + return a + b; +} -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..3d3daa97a 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,8 @@ // 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..cf883e471 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,23 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function upperCaseName(teacher) { + return teacher.toUpperCase(); +} + +// function shoutyGreeting(name) { +// console.log("HELLO " + name); +// } + +// shoutyGreeting(mentor1); + +function shoutyGreeting(name) { + return "HELLO " + upperCaseName(name); +} + +console.log(shoutyGreeting(mentor1)); +console.log(shoutyGreeting(mentor2)); +console.log(shoutyGreeting(mentor3)); +console.log(shoutyGreeting(mentor4)); +console.log(shoutyGreeting(mentor5)); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..07a9892b0 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(price) { + return price * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,12 @@ 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(price) { + let newPrice = (99 * price) / 100; + let convertedPrice = newPrice * 5.7; + let inStringPrice = convertedPrice.toFixed(2); + return parseFloat(inStringPrice); +} /* ======= 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..f7b9c4547 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(numberOne, numberTwo) { + return numberOne + numberTwo; } -function multiply() { - +function multiply(numberOne, numberTwo) { + return numberOne * numberTwo; } -function format() { - +function format(formattedPrice) { + return "£" + formattedPrice; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +// It is not clear and very confusing. +let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ - -let goodCode = +let addingNumber = add(startingValue, 10); +let multiplyingNumber = multiply(addingNumber, 2); +let formattingNumber = format(multiplyingNumber); +let goodCode = formattingNumber; /* ======= 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..7561cf3fb 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; } +addNumbers(3, 4, 6); -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; + const 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..eebf4abca 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,9 +1,11 @@ // Add comments to explain what this function does. You're meant to use Google! +// Math.random() 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! +// The concat() method is used to merge two or more arrays. This method does not change the existing arrays, but instead returns a new array. function combine2Words(word1, word2) { return word1.concat(word2); } @@ -11,6 +13,7 @@ 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, " ", thirdWord); } /* diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..9eef658fb 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price * 1.2; +} + +// let totalWithTax = calculateSalesTax(); /* CURRENCY FORMATTING @@ -17,10 +21,12 @@ 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); +} /* -=================================================== +====================`=============================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== There are some Tests in this file that will help you work out if your code is working.