From a45a8fbadcbc08b3e2b4be2dcbb90a1442282079 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:07:52 +0100 Subject: [PATCH 01/22] .vscode folder was added --- .vscode/jsconfig.json | 8 ++++++++ .vscode/main.js | 12 ++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 .vscode/jsconfig.json create mode 100644 .vscode/main.js diff --git a/.vscode/jsconfig.json b/.vscode/jsconfig.json new file mode 100644 index 000000000..e9441a490 --- /dev/null +++ b/.vscode/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "target": "esnext", + "lib": [ + "esnext" + ] + } +} \ No newline at end of file diff --git a/.vscode/main.js b/.vscode/main.js new file mode 100644 index 000000000..ec3bef502 --- /dev/null +++ b/.vscode/main.js @@ -0,0 +1,12 @@ +/// +/// +// @ts-check +// API: https://code.visualstudio.com/api/references/vscode-api + +function activate(_context) { + window.showInformationMessage('Hello, World!'); +} + +function deactivate() {} + +module.exports = { activate, deactivate } From 24281f63808a4faf46f285270857f8556b33fac6 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:22:21 +0100 Subject: [PATCH 02/22] exercise B was completed --- exercises/B-hello-world/exercise.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..a0472ee47 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,3 @@ console.log("Hello world"); +console.log("Hello World. I just started learning JavaScript"); +console.log(33); From 5d5a59e84a6e55893610c50bd880702564f3f079 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:36:19 +0100 Subject: [PATCH 03/22] exercise C was completed --- exercises/C-variables/exercise.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..7beea3261 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 world"; +console.log(greeting); +console.log(greeting); console.log(greeting); From 2c13e1b1b1b4f2bdde4d2bf617d8f0d537498e60 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:42:16 +0100 Subject: [PATCH 04/22] Exercise D was completed --- exercises/D-strings/exercise.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..8eb3e774b 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,9 @@ // Start by creating a variable `message` + +var message = "This is a string"; +var messageType = typeof message; + + console.log(message); +console.log(messageType); From d6b36e92047ede1eeba573f0faeeba89a6f0cdca Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:46:18 +0100 Subject: [PATCH 05/22] Exercise E was completed --- exercises/E-strings-concatenation/exercise.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..dca8c2558 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,8 @@ // Start by creating a variable `message` -console.log(message); +var greetingStart = "Hello, my name is "; +var name = "Ekrem"; + +var greeting = greetingStart + name; + +console.log(greeting); From 57a0e325ae996f0a78fa08d4521f529a7691dd0a Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 14:59:19 +0100 Subject: [PATCH 06/22] F exercise 1 was completed --- exercises/F-strings-methods/exercise.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..add3b6598 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` +var name= "Ekrem"; +var length = name.length; + +var message= "My name is " + name + " and my name is " + length + " characters long"; + + console.log(message); From fb62938413d24cf104bdc82e969f6e338a81c369 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 15:05:16 +0100 Subject: [PATCH 07/22] F exercise 2 was completed --- exercises/F-strings-methods/exercise2.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..b072678ec 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,9 @@ const name = " Daniel "; +var nameWithoutTrim = name.trim(); + +var length = nameWithoutTrim.length; + +var message= "My name is " + nameWithoutTrim + " and my name is " + length + " characters long"; + console.log(message); From bc168371dde1c653a75b5e0044453899ce832078 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 15:17:14 +0100 Subject: [PATCH 08/22] Exercise G was completed --- exercises/G-numbers/exercise.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..c5b752c49 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,11 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +function sumStudentsAndMentors (a,b){ + return a+b; +} +var numberOfStudents = 15; +console.log("Number of students: "+numberOfStudents); +var numberOfMentors = 8; +console.log("Number of mentors: "+numberOfMentors); +var total = sumStudentsAndMentors(numberOfStudents, numberOfMentors); +console.log("Total number of students and mentors: " + total); // with use function +console.log("Total number of students and mentors: " + (numberOfMentors+numberOfStudents)); //just use basic sum \ No newline at end of file From 32062b7142281634c68bff0cd2bc29e247c99b9f Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 16:03:08 +0100 Subject: [PATCH 09/22] Exercise I was completed --- exercises/I-floats/exercise.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..f8eaa0d37 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,12 @@ var numberOfStudents = 15; var numberOfMentors = 8; +var total = numberOfMentors+numberOfStudents; + +var roundPercentageOfStudents = Math.round((numberOfStudents*100)/total); +console.log("Percentage students: " + roundPercentageOfStudents+"%"); + +var roundPercentageOfMentors = Math.round((numberOfMentors*100)/total); +console.log("Percentage mentors: " + roundPercentageOfMentors+"%"); + + + From 5b6d60646a425021e4168dc85e9995458eba15d1 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 16:35:33 +0100 Subject: [PATCH 10/22] Exercise J exercise1 and 2 were completed. --- exercises/J-functions/exercise.js | 2 ++ exercises/J-functions/exercise2.js | 1 + 2 files changed, 3 insertions(+) diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..1a2e36f37 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,4 +1,6 @@ function halve(number) { + + return number / 2; // complete the function here } 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); From 238adbf8428461bb30ac993be88c8dd6fd7a5348 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 17:07:07 +0100 Subject: [PATCH 11/22] All of the K exercises was completed --- exercises/K-functions-parameters/exercise.js | 4 +++- exercises/K-functions-parameters/exercise2.js | 3 +++ exercises/K-functions-parameters/exercise3.js | 3 +++ exercises/K-functions-parameters/exercise4.js | 6 +++++- exercises/K-functions-parameters/exercise5.js | 3 +++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..34310722b 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,5 +1,7 @@ // Complete the function so that it takes input parameters -function multiply() { +function multiply(a, b) { + return a * b; + // Calculate the result of the function and return it } diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..ab4102430 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(a, b) { + return a / b; +} var result = divide(3, 4); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..3341b2910 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,4 +1,7 @@ // 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..6afdab7bc 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,9 @@ // Declare your function first - +function summation(num1, num2) { + return num1 + num2; +} // Call the function and assign to a variable `sum` +var sum = summation(13, 124); + console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..8795f0fc4 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,4 +1,7 @@ // 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); From 2987a4767a9986ff04633766652508732b81180a Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 17:36:11 +0100 Subject: [PATCH 12/22] Exercise L was completed --- exercises/L-functions-nested/exercise.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..0df8997e6 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 changeToUppercase(name) { + return (upperCasename = name.toUpperCase()); +} +function shoutyGreeting(upperCasename) { + return "HELLO " + upperCasename; +} +console.log(shoutyGreeting(changeToUppercase(mentor1))); +console.log(shoutyGreeting(changeToUppercase(mentor2))); +console.log(shoutyGreeting(changeToUppercase(mentor3))); +console.log(shoutyGreeting(changeToUppercase(mentor4))); +console.log(shoutyGreeting(changeToUppercase(mentor5))); From 28194c610a968373ff2ce6237a7d71cf570a2ca6 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 18:55:37 +0100 Subject: [PATCH 13/22] extra 1 was passed the all of the test --- extra/1-currency-conversion.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..c32d32190 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(Pound) { + return Pound * 1.4; +} /* CURRENCY CONVERSION @@ -14,8 +16,14 @@ function convertToUSD() {} Write a new function for converting to the Brazilian real (exchange rate is 5.7 BRL to £) 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 fixDecimal(num, decimal) { + decimal = Math.pow(10, decimal); + return Math.round(num * decimal) / decimal; +} + +function convertToBRL(Pound) { + return fixDecimal(Pound * 5.7 * 0.99, 2); +} /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From 723f368244f92749798d9dee79ced01fe85cb8a6 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 22:26:22 +0100 Subject: [PATCH 14/22] extra-2 piping was solved --- extra/2-piping.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extra/2-piping.js b/extra/2-piping.js index b4f8c4c1b..da00ca88b 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(num1, num2) { + return num1 + num2; } -function multiply() { - +function multiply(num1, num2) { + return num1 * num2; } -function format() { - +function format(num1) { + return "£" + num1; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = `${format(multiply(2, add(10, startingValue)))}`; /* BETTER PRACTICE */ -let goodCode = +let goodCode = format(multiply(2, add(10, startingValue))); /* ======= TESTS - DO NOT MODIFY ===== There are some Tests in this file that will help you work out if your code is working. From c953d49b4ec169b80425e94bb6a7a9c7d31e9d30 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 23:05:26 +0100 Subject: [PATCH 15/22] Mandatory-1 was fixed --- mandatory/1-syntax-errors.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..730b464ac 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 " + 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; } /* From 704554a3d94945d5446c155655aec1be8d35aacf Mon Sep 17 00:00:00 2001 From: Ekrem Date: Mon, 22 Aug 2022 23:58:35 +0100 Subject: [PATCH 16/22] Mandatory-2 was fixed --- mandatory/2-logic-error.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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; } /* From 0973c962dd50753e90c1084d63489d0cb1099312 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Tue, 23 Aug 2022 00:13:20 +0100 Subject: [PATCH 17/22] Mandatory -3 passed all the test --- mandatory/3-function-output.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..e1ff982ea 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -5,10 +5,11 @@ function getRandomNumber() { // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { - return word1.concat(word2); + return word1.concat(" ", word2); } function concatenate(firstWord, secondWord, thirdWord) { + return firstWord.concat(" ", 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. } From 1c1fc20965c9b8b481caffe1334bc95bb18a4436 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Tue, 23 Aug 2022 00:34:13 +0100 Subject: [PATCH 18/22] Mandatory-4 passed all of the tests. --- mandatory/4-tax.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..7ada32bd1 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,10 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(productPrice) { + let withTax = productPrice * 0.2 + productPrice; + return withTax; +} /* CURRENCY FORMATTING @@ -17,8 +20,10 @@ 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 withTaxWithFormat = productPrice * 0.2 + productPrice; + return "£" + withTaxWithFormat.toFixed(2); +} /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== From a1e0402a39ae5c9eb2b1ad8091b7ee8320450977 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Tue, 23 Aug 2022 00:58:09 +0100 Subject: [PATCH 19/22] I couldn't solve extra-3 --- extra/3-magic-8-ball.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 46f65f928..4511076fb 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -46,6 +46,7 @@ // This should log "The ball has shaken!" // and return the answer. function shakeBall() { + console.log("The ball has shaken!"); //Write your code in here } @@ -59,6 +60,7 @@ function shakeBall() { This function should expect to be called with any value which was returned by the shakeBall function. */ function checkAnswer(answer) { + console.log(answer); //Write your code in here } @@ -101,7 +103,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 d127292db8708ac9f24e389aea286edabecd5ac8 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Tue, 23 Aug 2022 01:16:06 +0100 Subject: [PATCH 20/22] extra 3 was changed to first --- extra/3-magic-8-ball.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 4511076fb..94692350e 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -46,7 +46,6 @@ // This should log "The ball has shaken!" // and return the answer. function shakeBall() { - console.log("The ball has shaken!"); //Write your code in here } @@ -56,11 +55,9 @@ function shakeBall() { - positive - negative - very negative - This function should expect to be called with any value which was returned by the shakeBall function. */ function checkAnswer(answer) { - console.log(answer); //Write your code in here } From 01b37a7a749eff7d6ee98e08d9952bc8b8dbc4a7 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Tue, 23 Aug 2022 04:23:47 +0100 Subject: [PATCH 21/22] extra 3, two test passed 2 failed --- extra/3-magic-8-ball.js | 60 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index 94692350e..c7f341eef 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,20 +45,74 @@ // This should log "The ball has shaken!" // and return the answer. -function shakeBall() { - //Write your code in here +console.log("The ball has shaken!"); +function shakeBall(a) { + return a[Math.floor(Math.random() * a.length)]; + console.log(shakeBall(a)); } +var a = [ + "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.", +]; +var answer = console.log(shakeBall(a)); + /* This function should say whether the answer it is given is - very positive - positive - negative - very negative + 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 ( + answer === "It is certain." || + answer === "It is decidedly so." || + answer === "You may rely on it." || + answer === "Without a doubt." || + answer === "Yes - definitely." + ) { + return "very positive"; + } else if ( + answer === "Yes." || + answer === "As I see it, yes." || + answer === "Signs point to yes." || + answer === "Most likely." || + answer === "Outlook good." + ) { + return "positive"; + } else if ( + answer === "Reply hazy, try again." || + answer === "Ask again later." || + answer === "Better not tell you now." || + answer === "Cannot predict now." || + answer === "Concentrate and ask again." + ) { + return "Negative"; + } else { + return "very negative"; + } } /* From c9a8b47bb1d159bf5f5deeecd0f3805df84e0245 Mon Sep 17 00:00:00 2001 From: Ekrem Date: Fri, 2 Sep 2022 18:29:33 +0100 Subject: [PATCH 22/22] I couldn't solve 3 magic 8 ball --- .vscode/settings.json | 5 +++++ extra/3-magic-8-ball.js | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..6c2ff60b6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "githubPullRequests.ignoredPullRequestBranches": [ + "master" + ] +} \ No newline at end of file diff --git a/extra/3-magic-8-ball.js b/extra/3-magic-8-ball.js index c7f341eef..2bd142607 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -45,13 +45,15 @@ // This should log "The ball has shaken!" // and return the answer. +//for (let i = 0; i < 21; ++i) { console.log("The ball has shaken!"); -function shakeBall(a) { - return a[Math.floor(Math.random() * a.length)]; - console.log(shakeBall(a)); +function shakeBall(answers) { + const answer = answers.sort(() => Math.random() * 20).slice(0, 1); + //return answer; + console.log(answer); } -var a = [ +let answer = shakeBall([ "It is certain.", "It is decidedly so.", "Without a doubt.", @@ -72,8 +74,7 @@ var a = [ "My sources say no.", "Outlook not so good.", "Very doubtful.", -]; -var answer = console.log(shakeBall(a)); +]); /* This function should say whether the answer it is given is @@ -87,7 +88,7 @@ var answer = console.log(shakeBall(a)); function checkAnswer(answer) { if ( - answer === "It is certain." || + answer === "[ 'It is certain.' ]" || answer === "It is decidedly so." || answer === "You may rely on it." || answer === "Without a doubt." || @@ -109,12 +110,12 @@ function checkAnswer(answer) { answer === "Cannot predict now." || answer === "Concentrate and ask again." ) { - return "Negative"; + return "negative"; } else { return "very negative"; } } - +//} /* ================================== ======= TESTS - DO NOT MODIFY =====