From a35bc6d0bc6e4c1d3f6e3e2c5a58a35ac56a4f16 Mon Sep 17 00:00:00 2001 From: Halla-S Date: Thu, 12 Aug 2021 15:51:40 +0100 Subject: [PATCH 1/6] Exercises finished --- exercises/B-hello-world/exercise.js | 5 +++++ exercises/C-variables/exercise.js | 3 +++ exercises/D-strings/exercise.js | 4 +++- exercises/E-strings-concatenation/exercise.js | 5 ++++- exercises/F-strings-methods/exercise.js | 13 +++++++++++++ exercises/G-numbers/exercise.js | 4 ++++ exercises/I-floats/exercise.js | 5 +++++ exercises/J-functions/exercise.js | 4 +++- exercises/J-functions/exercise2.js | 5 +++-- exercises/K-functions-parameters/exercise.js | 4 ++-- exercises/K-functions-parameters/exercise2.js | 5 +++-- exercises/K-functions-parameters/exercise3.js | 6 ++++-- exercises/K-functions-parameters/exercise4.js | 6 ++++-- exercises/K-functions-parameters/exercise5.js | 4 +++- exercises/L-functions-nested/exercise.js | 12 ++++++++++++ extra/1-currency-conversion.js | 9 +++++++-- extra/2-piping.js | 18 ++++++++++-------- mandatory/1-syntax-errors.js | 11 ++++++----- mandatory/2-logic-error.js | 7 +++---- mandatory/3-function-output.js | 3 +++ mandatory/4-tax.js | 10 ++++++++-- 21 files changed, 108 insertions(+), 35 deletions(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..f42a0db99 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,6 @@ console.log("Hello world"); +console.log("Hello World. I just started learning JavaScript!."); +console.log(Hello World. I just started learning JavaScript!.); // got a SyntaxError for this one . +console.log("44"); +console.log(44); + diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..7b5c5e6b6 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `greeting` +var greeting = "Good morning js"; 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..2935478bc 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" 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..ae527e84e 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` - +var greetingStart = "Good morning, my name is "; +var myName = "Halla"; +var message = greetingStart + myName; console.log(message); +console.log(greetingStart + myName); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..c385c0fd8 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,16 @@ // Start by creating a variable `message` +var myName = " Halla "; +var message = myName.length; +var aboutName = `My name is Halla and my name is ${message} characters long`; +var aboutName1 = + "My name is Halla and my name is " + message + " characters long"; +var myNewName = myName.trim(); +var message1 = myNewName.length; +var aboutName2 = + "My name is Halla and my name after trim is " + message1 + " characters long"; +console.log(aboutName); +console.log(aboutName1); +console.log(aboutName2); console.log(message); +console.log(myName); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..bbc418308 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; +var total = 23; +console.log(total); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..aefee0f3d 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,7 @@ var numberOfStudents = 15; var numberOfMentors = 8; +var studentPercent = Math.round((15 / 23) * 100); +var mentorsPercent = Math.round((8 / 23) * 100); + +console.log(`Student Percentage: ${studentPercent}%`); +console.log(`Mentors Percentage: ${mentorsPercent}%`); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..8a70f30e6 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,9 @@ function halve(number) { - // complete the function here + return number / 2; } var result = halve(12); console.log(result); +console.log(halve(24)); +console.log(halve(44)); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..b564bf0f0 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,8 @@ function triple(number) { - // complete function here + return number * 3; } var result = triple(12); - +triple(3); console.log(result); +console.log(triple(3)); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..90077b6b4 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..d3117d8a8 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,6 @@ -// 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..8d1abf8e2 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 "Good morning " + name ; +} var greeting = createGreeting("Daniel"); console.log(greeting); +console.log(createGreeting("Halla")); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..03fe6fac1 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,7 @@ -// Declare your function first - +function adding(a, b) { + return a + b; +} +var sum = adding(13, 124); // Call the function and assign to a variable `sum` console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..796e5f10a 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,4 +1,6 @@ -// Declare your function here +function createLongGreeting(myname, Age) { + return "Hello, my name is " + myname + " and I'm " + Age + " years old"; +} const greeting = createLongGreeting("Daniel", 30); diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..0ecf0d98c 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,15 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; +function upperCase(name1){ + return name1.toUpperCase(); +} + +function greeting(name1){ + return "HELLO "+ upperCase(name1); +} +console.log(greeting("daniel")); +console.log(greeting("Irina")); +console.log(greeting("Mimi")); +console.log(greeting("Rob")); +console.log(greeting("Yohannes")); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index d82e59480..91d5afd20 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(money) { + return money * 1.4; +} /* CURRENCY CONVERSION @@ -15,7 +17,10 @@ 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(money) { + var money = money * 0.99 * 5.7; + return Math.round(100 * money) / 100; +} /* ======= 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..05f67a629 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,28 @@ the final result to the variable goodCode */ -function add() { - +function add(a, b) { + return a + b; } -function multiply() { - +function multiply(a, b) { + return a * b; } -function format() { - +function format(number) { + return `£${number}`; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = format(multiply(add(startingValue, 10), 2)); /* BETTER PRACTICE */ +var adding = add(startingValue, 10); +var multiplying = multiply(adding, 2); -let goodCode = +let goodCode = format(multiplying); /* ======= 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..98360ac6b 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..08ae388ee 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,14 +1,17 @@ // Add comments to explain what this function does. You're meant to use Google! +//This function returns a random number between 0 (included) and 10 (excluded): function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! +// this function join two strings function combine2Words(word1, word2) { return word1.concat(word2); } function concatenate(firstWord, secondWord, thirdWord) { + return 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. } diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..543bb4518 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,11 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(price) { + var newPrice = calculateSalesTax(price); + var newPriceDecimal = newPrice.toFixed(2); + return `£${newPriceDecimal}`; +} /* =================================================== From 86cd9a2ba36596255c63dd54e8d83a79dc287c62 Mon Sep 17 00:00:00 2001 From: Halla-S Date: Fri, 13 Aug 2021 20:51:44 +0100 Subject: [PATCH 2/6] change var to const and let --- exercises/C-variables/exercise.js | 2 +- exercises/D-strings/exercise.js | 2 +- exercises/E-strings-concatenation/exercise.js | 6 +++--- exercises/F-strings-methods/exercise.js | 14 +++++++------- exercises/F-strings-methods/exercise2.js | 9 ++++++--- exercises/G-numbers/exercise.js | 6 +++--- exercises/I-floats/exercise.js | 8 ++++---- exercises/J-functions/exercise.js | 2 +- exercises/J-functions/exercise2.js | 2 +- exercises/K-functions-parameters/exercise.js | 2 +- exercises/K-functions-parameters/exercise2.js | 2 +- exercises/K-functions-parameters/exercise3.js | 2 +- exercises/K-functions-parameters/exercise4.js | 2 +- extra/1-currency-conversion.js | 11 ++++++----- extra/2-piping.js | 5 +++-- mandatory/4-tax.js | 4 ++-- 16 files changed, 42 insertions(+), 37 deletions(-) diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index 7b5c5e6b6..53b80d5ed 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,5 +1,5 @@ // Start by creating a variable `greeting` -var greeting = "Good morning js"; +const greeting = "Good morning js"; console.log(greeting); console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2935478bc..97dd813cf 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,5 +1,5 @@ // Start by creating a variable `message` -var message = "this is a string" +const message = "this is a 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 ae527e84e..4571a4a46 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,6 +1,6 @@ // Start by creating a variable `message` -var greetingStart = "Good morning, my name is "; -var myName = "Halla"; -var message = greetingStart + myName; +let greetingStart = "Good morning, my name is "; +const myName = "Halla"; +let message = greetingStart + myName; console.log(message); console.log(greetingStart + myName); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index c385c0fd8..a6a5f6c3d 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,12 +1,12 @@ // Start by creating a variable `message` -var myName = " Halla "; -var message = myName.length; -var aboutName = `My name is Halla and my name is ${message} characters long`; -var aboutName1 = +let myName = " Halla "; +let message = myName.length; +let aboutName = `My name is Halla and my name is ${message} characters long`; +let aboutName1 = "My name is Halla and my name is " + message + " characters long"; -var myNewName = myName.trim(); -var message1 = myNewName.length; -var aboutName2 = +let myNewName = myName.trim(); +let message1 = myNewName.length; +let aboutName2 = "My name is Halla and my name after trim is " + message1 + " characters long"; console.log(aboutName); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..2e9192b10 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,6 @@ -const name = " Daniel "; - -console.log(message); +const myName = " Daniel "; +let myNewName = myName.trim(); +let message1 = myNewName.length; +let aboutmyName = + "My name is Daniel and my name after trim is " + message1 + " characters long"; + console.log(aboutmyName); \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index bbc418308..db37e7443 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1,5 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` -var numberOfStudents = 15; -var numberOfMentors = 8; -var total = 23; +const numberOfStudents = 15; +const numberOfMentors = 8; +const total = 23; console.log(total); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index aefee0f3d..8a33b33d3 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,7 +1,7 @@ -var numberOfStudents = 15; -var numberOfMentors = 8; -var studentPercent = Math.round((15 / 23) * 100); -var mentorsPercent = Math.round((8 / 23) * 100); +const numberOfStudents = 15; +const numberOfMentors = 8; +const studentPercent = Math.round((15 / 23) * 100); +const mentorsPercent = Math.round((8 / 23) * 100); console.log(`Student Percentage: ${studentPercent}%`); console.log(`Mentors Percentage: ${mentorsPercent}%`); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 8a70f30e6..baf355ec9 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -2,7 +2,7 @@ function halve(number) { return number / 2; } -var result = halve(12); +const result = halve(12); console.log(result); console.log(halve(24)); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index b564bf0f0..ff38f3867 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -2,7 +2,7 @@ function triple(number) { return number * 3; } -var result = triple(12); +const result = triple(12); triple(3); console.log(result); console.log(triple(3)); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 90077b6b4..3d3885c1e 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -4,6 +4,6 @@ function multiply(a,b) { } // Assign the result of calling the function the variable `result` -var result = multiply(3, 4); +const result = multiply(3, 4); console.log(result); diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index d3117d8a8..0470bc7f3 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,6 +1,6 @@ function divide(a, b) { return a / b; } -var result = divide(3, 4); +const result = divide(3, 4); console.log(result); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 8d1abf8e2..04fbc89f3 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,7 +1,7 @@ function createGreeting(name){ return "Good morning " + name ; } -var greeting = createGreeting("Daniel"); +let greeting = createGreeting("Daniel"); console.log(greeting); console.log(createGreeting("Halla")); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 03fe6fac1..79c45f8a5 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,7 +1,7 @@ function adding(a, b) { return a + b; } -var sum = adding(13, 124); +const sum = adding(13, 124); // Call the function and assign to a variable `sum` console.log(sum); diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 91d5afd20..300e0650c 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,8 +5,8 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD(money) { - return money * 1.4; +function convertToUSD(moneyToDollar) { + return moneyToDollar * 1.4; } /* @@ -17,9 +17,10 @@ function convertToUSD(money) { 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(money) { - var money = money * 0.99 * 5.7; - return Math.round(100 * money) / 100; +function convertToBRL(moneyToReal) { + moneyToReal = moneyToReal * 0.99 * 5.7; + /* Rounding to the nearest hundredths .*/ + return Math.round(100 * moneyToReal) / 100; } /* ======= TESTS - DO NOT MODIFY ===== diff --git a/extra/2-piping.js b/extra/2-piping.js index 05f67a629..c06c21bcc 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -32,10 +32,11 @@ const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. let badCode = format(multiply(add(startingValue, 10), 2)); +// this looks more complex than the goodCode . /* BETTER PRACTICE */ -var adding = add(startingValue, 10); -var multiplying = multiply(adding, 2); +const adding = add(startingValue, 10); +const multiplying = multiply(adding, 2); let goodCode = format(multiplying); diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index 543bb4518..644fb2e6b 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -20,8 +20,8 @@ function calculateSalesTax(price) { */ function addTaxAndFormatCurrency(price) { - var newPrice = calculateSalesTax(price); - var newPriceDecimal = newPrice.toFixed(2); + let newPrice = calculateSalesTax(price); + let newPriceDecimal = newPrice.toFixed(2); return `£${newPriceDecimal}`; } From 6cccbbccddaa4b480a81c25211b7c6817cca8a33 Mon Sep 17 00:00:00 2001 From: Halla-S Date: Fri, 13 Aug 2021 22:04:33 +0100 Subject: [PATCH 3/6] extra 3 added --- extra/3-magic-8-ball.js | 41 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index f3adbefa5..88557d084 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,8 +45,33 @@ // This should log "The ball has shaken!" // and return the answer. +let expectedAnswers = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + " Concentrate and ask again.", + "Don't count on it.", + "My reply is no.", + " My sources say no.", + "Outlook not so good.", + "Very doubtful.", +]; function shakeBall() { - //Write your code in here + console.log("The ball has shaken!"); + let random1 = Math.floor(Math.random() * 20); + let answer = expectedAnswers[random1]; + return answer; } /* @@ -59,7 +84,15 @@ 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 + if (expectedAnswers.indexOf(answer) <= 4) { + return "very positive"; + } else if (expectedAnswers.indexOf(answer) <= 9) { + return "positive"; + } else if (expectedAnswers.indexOf(answer) <= 14) { + return "negative"; + } else { + return "very negative"; + } } /* @@ -101,7 +134,9 @@ test("magic 8 ball returns different values each time", () => { ); } - let seenPositivities = new Set(Array.from(seenAnswers.values()).map(checkAnswer)); + let seenPositivities = new Set( + Array.from(seenAnswers.values()).map(checkAnswer) + ); if (seenPositivities.size < 2) { throw Error( "Expected to random answers with different positivities each time shakeBall was called, but always got the same one" From 78623dc2418118ecce282a751a73c66dcfa85272 Mon Sep 17 00:00:00 2001 From: Halla-S Date: Fri, 13 Aug 2021 23:23:14 +0100 Subject: [PATCH 4/6] Change in extra 3 --- extra/3-magic-8-ball.js | 45 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 88557d084..1e3ddd294 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,29 +45,30 @@ // This should log "The ball has shaken!" // and return the answer. -let expectedAnswers = [ - "It is certain.", - "It is decidedly so.", - "Without a doubt.", - "Yes - definitely.", - "You may rely on it.", - "As I see it, yes.", - "Most likely.", - "Outlook good.", - "Yes.", - "Signs point to yes.", - "Reply hazy, try again.", - "Ask again later.", - "Better not tell you now.", - "Cannot predict now.", - " Concentrate and ask again.", - "Don't count on it.", - "My reply is no.", - " My sources say no.", - "Outlook not so good.", - "Very doubtful.", -]; + function shakeBall() { + expectedAnswers = [ + "It is certain.", + "It is decidedly so.", + "Without a doubt.", + "Yes - definitely.", + "You may rely on it.", + "As I see it, yes.", + "Most likely.", + "Outlook good.", + "Yes.", + "Signs point to yes.", + "Reply hazy, try again.", + "Ask again later.", + "Better not tell you now.", + "Cannot predict now.", + " Concentrate and ask again.", + "Don't count on it.", + "My reply is no.", + " My sources say no.", + "Outlook not so good.", + "Very doubtful.", + ]; console.log("The ball has shaken!"); let random1 = Math.floor(Math.random() * 20); let answer = expectedAnswers[random1]; From 82d5f3047c9e1baaba801a318851ceb1197a00a6 Mon Sep 17 00:00:00 2001 From: Halla-S Date: Sun, 15 Aug 2021 16:06:44 +0100 Subject: [PATCH 5/6] comment a line out --- exercises/B-hello-world/exercise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index f42a0db99..7401145e0 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1,6 +1,6 @@ console.log("Hello world"); console.log("Hello World. I just started learning JavaScript!."); -console.log(Hello World. I just started learning JavaScript!.); // got a SyntaxError for this one . +//console.log(Hello World. I just started learning JavaScript!.); // got a SyntaxError for this one . console.log("44"); console.log(44); From b7d84358fee6f34e2768ad3f900edac532fdce8c Mon Sep 17 00:00:00 2001 From: Halla-S Date: Sun, 15 Aug 2021 16:24:27 +0100 Subject: [PATCH 6/6] The test line corrected --- extra/1-currency-conversion.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 300e0650c..2bcc0ae4f 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -26,7 +26,7 @@ function convertToBRL(moneyToReal) { /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. -To run these tests type `npm run extraTo run the tests for just this one file, type `npm run extra-tests -- --testPathPattern 1-syntax-errors` into your terminal +To run these tests type `npm run extraTo run the tests for just this one file, type `npm run extra-tests -- --testPathPattern 1-currency-conversion` into your terminal (Reminder: You must have run `npm install` one time before this will work!) */