diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..9f995002a 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(price) { + return "$" + price*1.4; +} +console.log(convertToUSD(20)); /* CURRENCY CONVERSION @@ -15,16 +18,21 @@ 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) { + total = price*0.99*5.7; + return "BRL" + " "+ total.toFixed(2); -/* ======= TESTS - DO NOT MODIFY ===== +} +console.log(convertToBRL(20)); + + ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. To run the tests for just this one file, type `npm test -- --testPathPattern 1-currency-conversion` into your terminal (Reminder: You must have run `npm install` one time before this will work!) */ -test("convertToUSD function works for £32", () => { +/*test("convertToUSD function works for £32", () => { expect(convertToUSD(32)).toEqual(44.8); }); diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..727b2c6bf 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,36 @@ 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(result) { + formatResult = "£" + result + return formatResult; } + const startingValue = 2; +let addResult = add(startingValue, 10); +let multiplayResult = multiply(addResult, 2) +let finalResult = format(multiplayResult) -// Why can this code be seen as bad practice? Comment your answer. -let badCode = +// Why can this code be seen as bad practice? Comment your answer. + +let badCode = format(multiply(add(startingValue,10),2)); /* BETTER PRACTICE */ -let goodCode = +let goodCode = finalResult +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..c874ba79f 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,9 +45,16 @@ // This should log "The ball has shaken!" // and return the answer. +let answerArray +let randomItem function shakeBall() { //Write your code in here + answerArray = ["It is certin", "it's decideldly so", "As I see it, yes", "Most likely", "Reply hazy, try again", "Ask again later", "Dont count on it", "My replay is no"] + let randomIndex = Math.floor(Math.random() * answerArray.length); + randomItem = answerArray [randomIndex]; + console.log(randomItem) } +shakeBall(); /* This function should say whether the answer it is given is @@ -58,10 +65,40 @@ 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) { +// //Write your code in here +switch(randomItem) { + case "It is certin": + console.log("very postive") + break; + case "it's decideldly so": + console.log("very positive") + break; + case "As I see it, yes": + console.log("positive") + break; + case "Most likely": + console.log("positive") + break; + case "Reply hazy, try again": + console.log("negative") + break; + case "Ask again later": + console.log("negative") + break; + case "Dont count on it": + console.log("very negative") + break; + case "My replay is no": + console.log("very negative") + break; + } + + } + checkAnswer(randomItem); + /* ================================== ======= TESTS - DO NOT MODIFY ===== diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..6df0ed926 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,16 @@ // 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 "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 9eb8c8cd7..02461953a 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // The syntax for these functions is valid but there are some errors, find them and fix them 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; + total = a * b * c; + return total; } /* diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..0191b8baf 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! +// this function return a random number between 0 and 100. function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// the concat() method join 2 strings together. 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..76959c93a 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 + price*0.2; + + +} /* CURRENCY FORMATTING @@ -17,7 +21,13 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + console.log(price) + return "£" + calculateSalesTax(price).toFixed(2); + +} +console.log(addTaxAndFormatCurrency(40)) + /* ===================================================