diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..d0cc03f8a 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 = "greeting"; 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..c659c6420 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); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..04cf4d2af 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` - -console.log(message); +var greetingStart = "Hello, my name is "; +var name = "Lana"; +var message = greetingStart + name; +console.log(message); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..8321dcf88 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,7 @@ // Start by creating a variable `message` - -console.log(message); +var message; +var name = "Lana"; +var nameLength = name.length; +message = + "My name is " + name + " and my name is " + nameLength + " characters long"; +console.log(message); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..6b33af17c 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,11 @@ -const name = " Daniel "; - -console.log(message); +const name = " Lana "; +var trimName = name.trim(); +var message; +var nameLength = trimName.length; +message = + "My name is " + + trimName + + " and my name is " + + nameLength + + " characters long"; +console.log(message); \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..9ecac53ba 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,12 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +var numberOfStudents = 10; +var numberOfMentors = 5; +var sum = numberOfStudents + numberOfMentors; +var result = + "Number of students:" + + numberOfStudents + + "\n Number of mentors:" + + numberOfMentors + + "\n Total numnber of students and mentors:" + + sum; +console.log(result); \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..cb5c8c163 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,11 @@ var numberOfStudents = 15; var numberOfMentors = 8; +var sum = numberOfStudents + numberOfMentors; +var percentageStudents = Math.round((numberOfStudents / sum) * 100); +var percentageMentor = Math.round((numberOfMentors / sum) * 100); +var result = + "Percentage students:" + + percentageStudents + + "\nPercentage mentors: " + + percentageMentor; +console.log(result); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..00db73f70 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,7 @@ function halve(number) { - // complete the function here + return number * 0.5; } var result = halve(12); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..ba12fd1e4 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,7 @@ function triple(number) { - // complete function here + return number * 3; } var result = triple(12); -console.log(result); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..88426c250 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() { - // 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..55bdc8226 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); +console.log(result); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..7160c88b0 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); +console.log(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..d551f2c78 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first +function add(num1, num2) { + return num1 + num2; +} +var sum = add(13, 124); // Call the function and assign to a variable `sum` -console.log(sum); +console.log(sum); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..3e917936a 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); +console.log(greeting); \ No newline at end of file diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..aaaf70728 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,20 @@ +function toUpper(name) { + return name.toUpperCase(); +} + +function greetingMentor(name) { + var result = toUpper(name); + return "HELLO " + result; +} + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; +console.log(greetingMentor(mentor1)); +console.log(greetingMentor(mentor2)); +console.log(greetingMentor(mentor3)); +console.log(greetingMentor(mentor4)); + +console.log(greetingMentor(mentor5)); \ No newline at end of file diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..e22ff89c7 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) { - 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 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; } /* @@ -26,15 +27,15 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 1-s */ test("addNumbers adds numbers correctly", () => { - expect(addNumbers(3, 4, 6)).toEqual(13); + expect(addNumbers(3, 4, 6)).toEqual(13); }); test("introduceMe function returns the correct string", () => { - expect(introduceMe("Sonjide", 27)).toEqual( - "Hello, my name is Sonjide and I am 27 years old" - ); + expect(introduceMe("Sonjide", 27)).toEqual( + "Hello, my name is Sonjide and I am 27 years old" + ); }); test("getTotal returns a string describing the total", () => { - expect(getTotal(23, 5)).toEqual("The total is 28"); -}); + expect(getTotal(23, 5)).toEqual("The total is 28"); +}); \ No newline at end of file diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9cca7603b..5ab6492c5 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; } /* @@ -25,27 +24,27 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 2-l */ test("trimWord trims leading and trailing whitespace", () => { - expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); + expect(trimWord(" CodeYourFuture ")).toEqual("CodeYourFuture"); }); test("trimWord doesn't remove whitespace in the middle of the string", () => { - expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( - "CodeYourFuture teaches coding" - ); + expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( + "CodeYourFuture teaches coding" + ); }); test("getStringLength returns the length of a word", () => { - expect(getStringLength("Turtles")).toEqual(7); + expect(getStringLength("Turtles")).toEqual(7); }); test("getStringLength returns the length of a sentence", () => { - expect(getStringLength("A wild sentence appeared!")).toEqual(25); + expect(getStringLength("A wild sentence appeared!")).toEqual(25); }); test("multiply multiplies numbers", () => { - expect(multiply(2, 3, 6)).toEqual(36); + expect(multiply(2, 3, 6)).toEqual(36); }); test("multiply multiplies different numbers", () => { - expect(multiply(2, 3, 4)).toEqual(24); -}); + expect(multiply(2, 3, 4)).toEqual(24); +}); \ No newline at end of file diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..65e003597 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,16 +1,19 @@ // Add comments to explain what this function does. You're meant to use Google! +//return random number from 0 to 9 function getRandomNumber() { - return Math.random() * 10; + return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +//this function concat two word togthor function combine2Words(word1, word2) { - return word1.concat(word2); + 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. + // 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); } /* @@ -25,13 +28,13 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 3-f */ test("concatenate example #1", () => { - expect(concatenate("code", "your", "future")).toEqual("code your future"); + expect(concatenate("code", "your", "future")).toEqual("code your future"); }); test("concatenate example #2", () => { - expect(concatenate("I", "like", "pizza")).toEqual("I like pizza"); + expect(concatenate("I", "like", "pizza")).toEqual("I like pizza"); }); test("concatenate doesn't only accept strings", () => { - expect(concatenate("I", "am", 13)).toEqual("I am 13"); -}); + expect(concatenate("I", "am", 13)).toEqual("I am 13"); +}); \ No newline at end of file diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..07efe766e 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,9 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(price) { + return price * 1.2; +} /* CURRENCY FORMATTING @@ -17,7 +19,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); +} /* =================================================== @@ -31,25 +35,25 @@ To run the tests for just this one file, type `npm test -- --testPathPattern 4-t */ test("calculateSalesTax for £15", () => { - expect(calculateSalesTax(15)).toEqual(18); + expect(calculateSalesTax(15)).toEqual(18); }); test("calculateSalesTax for £17.50", () => { - expect(calculateSalesTax(17.5)).toEqual(21); + expect(calculateSalesTax(17.5)).toEqual(21); }); test("calculateSalesTax for £34", () => { - expect(calculateSalesTax(34)).toEqual(40.8); + expect(calculateSalesTax(34)).toEqual(40.8); }); test("addTaxAndFormatCurrency for £15", () => { - expect(addTaxAndFormatCurrency(15)).toEqual("£18.00"); + expect(addTaxAndFormatCurrency(15)).toEqual("£18.00"); }); test("addTaxAndFormatCurrency for £17.50", () => { - expect(addTaxAndFormatCurrency(17.5)).toEqual("£21.00"); + expect(addTaxAndFormatCurrency(17.5)).toEqual("£21.00"); }); test("addTaxAndFormatCurrency for £34", () => { - expect(addTaxAndFormatCurrency(34)).toEqual("£40.80"); -}); + expect(addTaxAndFormatCurrency(34)).toEqual("£40.80"); +}); \ No newline at end of file