diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..ef14d9328 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,12 @@ -console.log("Hello world"); +console.log("Hello World"); +console.log(5); + +// When I console.log several things at once, I get a list of answers. + +// When I get rid of quotes,I get a syntax error. +console.log(Hello World.I just started learning JavaScript!); + +console.log("Hello World. I just started learning JavaScript!"); + +// A number without quotes. +console.log(205); \ No newline at end of file diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..c8382f8d2 100644 --- a/exercises/C-variables/exercise.js +++ b/exercises/C-variables/exercise.js @@ -1,3 +1,12 @@ -// Start by creating a variable `greeting` +var approach = "greeting";// Start by creating a variable `greeting` + +let greeting = "Hello World" +console.log(greeting); + +var approach = "greeting";// Start by creating a variable `greeting` + +console.log(greeting); + +var approach = "greeting";// Start by creating a variable `greeting` console.log(greeting); diff --git a/exercises/D-strings/exercise.js b/exercises/D-strings/exercise.js index 2cffa6a81..9f9b5484f 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,13 @@ -// Start by creating a variable `message` +const message = "This is a String"; +const messageType = typeof message; + console.log(message); +console.log(messageType); + +// My copy +const myText = "This is a String of Douglas"; +const usingTypeof = typeof myText; + +console.log(myText); +console.log(usingTypeof); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..fd8cae8ac 100644 --- a/exercises/E-strings-concatenation/exercise.js +++ b/exercises/E-strings-concatenation/exercise.js @@ -1,3 +1,13 @@ -// Start by creating a variable `message` +// const introduction = "Hello my name is"; +// const name = " Abdulqadir"; -console.log(message); +// console.log(introduction); +// console.log(name); + +// My copy +let standardIntro = "Hello, my first name is"; +let yourName = " Douglas."; + +let greeting = standardIntro + yourName; + +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..c91e33d42 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,11 @@ -// Start by creating a variable `message` +// let name = "Abdulqadir"; +// let nameLength = name.length; -console.log(message); +// console.log(`My name is ${name} and my name is ${name.length} characters long`); + + +let myName = "Douglas Trainee"; +let myNameLength = myName.length; + +// With interpolation, I don't need to create another variable for the greeting text. +console.log(`My name is ${myName} and my name is ${myNameLength} characters long`); \ No newline at end of file diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..635ede2ff 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,17 @@ -const name = " Daniel "; +let name = "Abdulqadir"; +let addTrim = name.trim(); +let newNameLength = addTrim.length; -console.log(message); +console.log(`my name is ${addTrim} and my name is ${newNameLength} characters long`); + +let myName = " Douglas Trainee "; +let myNameLength = myName.length; + +let myNameTrim = myName.trim(); +let myNewNameLength = myNameTrim.length; + +// 19 characters for myName +console.log(`My name is ${myName} and my name is ${myNameLength} characters long`); + +// The whitespaces are removed: 15 characters for myName +console.log(`My name is ${myNameTrim} and my name is ${myNewNameLength} characters long`); \ No newline at end of file diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..b91af39eb 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,17 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +// let numberOfStudents = 15; +// let numberOfMentors = 3; +// let total = numberOfStudents + numberOfMentors; + +// console.log(`number of students: ${numberOfStudents}`); +// console.log(`number of mentors: ${numberOfMentors}` ); +// console.log(`total number of students and mentors: ${total}`); + +// My copy. +let numberOfStudents = 30; +let numberOfMentors = 10; +let total = numberOfStudents + numberOfMentors; + +console.log(`Number of students: ${numberOfStudents}`); +console.log(`Number of mentors: ${numberOfMentors}`); +console.log(`Total number 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..d95575386 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,23 @@ -var numberOfStudents = 15; -var numberOfMentors = 8; +// var numberOfStudents = 15; +// var numberOfMentors = 8; +// var total = numberOfStudents + numberOfMentors; + +// var convertStudent = numberOfStudents/total*100; +// var convertMentors = numberOfMentors/total*100; + +// var percentageOfStudents = Math.round(convertStudent); +// var percentageOfMentors = Math.round(convertMentors); + +// console.log(`Student percentage: ${percentageOfStudents}%`); +// console.log(`Student percentage: ${percentageOfMentors}%`); + +var numberOfStudents = 30; +var numberOfMentors = 10; +var total = numberOfStudents + numberOfMentors; + +var convertStudents = numberOfStudents / total * 100; +var convertMentors = numberOfMentors / total * 100; + +console.log(`Student percentage: ${convertStudents}%`); +console.log(`Mentor percentage: ${convertMentors}%`); + diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..37d0820c9 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,25 @@ -function halve(number) { - // complete the function here +// function halve(number) { +// return number/2; +// } + +// var result = halve(12); +// var result1 = halve(20); +// var result2 = halve(30); +// var result3 = halve(100); + +// console.log(result); +// console.log(result1); +// console.log(result2); +// console.log(result3); + +function divide(number) { + return number / 2; } -var result = halve(12); +var answer1 = divide(5); +var answer2 = divide(10); +var answer3 = divide(15); -console.log(result); +console.log(answer1); +console.log(answer2); +console.log(answer3); \ No newline at end of file diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..dd5b1b514 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,16 @@ -function triple(number) { - // complete function here +// function triple(number) { +// return number*3 +// } + +// var result = triple(12); + +// console.log(result); + +// My copy. +function threeTimes(number) { + return (number * 3)*3; } -var result = triple(12); +var answer = threeTimes(3); -console.log(result); +console.log(`The answer is ${answer}`) \ No newline at end of file diff --git a/exercises/K-functions-parameters/README.md b/exercises/K-functions-parameters/README.md index 02ab2a844..c961dd87c 100644 --- a/exercises/K-functions-parameters/README.md +++ b/exercises/K-functions-parameters/README.md @@ -42,7 +42,7 @@ function add(num1, num2) { * Write a function that takes a name (a string) and returns a greeting -## Expected result +## Expected result ``` Hello, my name is Daniel diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..c4d6cd86d 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,9 +1,19 @@ // 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; // Calculate the result of the function and return it +// } + +// // Assign the result of calling the function the variable `result` +// var result = multiply(3, 4); + +// console.log(result); + +// My copy. +function multiply(num1, num2) { + return num1 * num2; } -// Assign the result of calling the function the variable `result` -var result = multiply(3, 4); +let answer = multiply(5, 10); + +console.log(answer); -console.log(result); diff --git a/exercises/K-functions-parameters/exercise2.js b/exercises/K-functions-parameters/exercise2.js index db7a8904b..e629bf1c4 100644 --- a/exercises/K-functions-parameters/exercise2.js +++ b/exercises/K-functions-parameters/exercise2.js @@ -1,5 +1,16 @@ -// Declare your function first +// function divide(num1, num2){ +// return num1/num2; +// }// Declare your function first -var result = divide(3, 4); +// var result = divide(3, 4); -console.log(result); +// console.log(result); + +// My copy. +function divide(num1, num2) { + return num1 / num2; +} + +let answer = divide(5, 10); + +console.log(Math.round(answer)); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise3.js b/exercises/K-functions-parameters/exercise3.js index 537e9f4ec..dbd54634d 100644 --- a/exercises/K-functions-parameters/exercise3.js +++ b/exercises/K-functions-parameters/exercise3.js @@ -1,5 +1,15 @@ -// Write your function here +// function createGreeting(name){ +// return `Hello, my name is ${name}`; +// }// Write your function here -var greeting = createGreeting("Daniel"); +// var greeting = createGreeting("Daniel"); -console.log(greeting); +// console.log(greeting); + +function standardGreeting(firstName) { + return `Hello my firstname is ${firstName}` +} + +let greeting = standardGreeting("Douglas"); + +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..d848e3ab8 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,17 @@ -// Declare your function first +// function add(num1, num2) { +// return num1+num2; +// }// Declare your function first -// Call the function and assign to a variable `sum` +// var sum = add(13,124);// Call the function and assign to a variable `sum` -console.log(sum); +// console.log(sum); + +// My Copy. + +function adding(num1, num2) { + return num1 + num2; +} + +let sum = adding(5, 10); + +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..ff2f20f82 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,5 +1,16 @@ -// Declare your function here +// function createLongGreeting(name,age){ +// return`Hello, my name is ${name} and I'm ${age} years old` +// }// Declare your function here -const greeting = createLongGreeting("Daniel", 30); +// const greeting = createLongGreeting("Daniel", 30); -console.log(greeting); +// console.log(greeting); + +// My copy. +function nameAgeGreeting(yourName, yourAge) { + return `My name is ${yourName} and I'm ${yourAge} years old.`; +} + +let greeting = nameAgeGreeting("Douglas", 47); + +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..c9026feb9 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -1,5 +1,102 @@ -var mentor1 = "Daniel"; -var mentor2 = "Irina"; -var mentor3 = "Mimi"; -var mentor4 = "Rob"; -var mentor5 = "Yohannes"; +// function percentage(num,total) { +// return (num/total*100); +// } + +// var numberOfStudents = 15; +// var numberOfMentors = 8; +// var total = numberOfStudents + numberOfMentors; +// var totalPercentage = percentage(numberOfStudents,numberOfMentors,total); + +// function initialMessage(numberOfStudents, numberOfMentors){ +// message = `totalPercentage: ${numberOfStudents} ${numberOfMentors} ${Math.round(percentage)}%`; +// return message; +// } + +// console.log(totalPercentage); + +// Function for calculating percentages. + +function percentage(num, total) { + return Math.round((num / total) * 100); +} + +// Variables used for calculating the percentages. +const numberOfStudents = 33; +const numberOfMentors = 13; +const total = numberOfStudents + numberOfMentors; +let percentageStudents = percentage(numberOfStudents, total); +let percentageMentors = percentage(numberOfMentors, total); + +// Function for creating the message. +function percentageType(groupName, percentageOfGroupName) { + return groupName + percentageOfGroupName; +} + +// Variables for creating the output message. +let students = percentageType("Percentage Students: ", percentageStudents); +let mentors = percentageType("Percentage Mentors: ", percentageMentors); + +// This one is using the variables above to output the message. +console.log(students+"%"); +console.log(mentors+"%"); +// I need help with getting % added. + +This one is interpolation to create the message. + +console.log(`Percentage Students: ${percentageStudents}%`); +console.log(`Pencentage Mentors: ${percentageMentors}%`); + + + + + + + + + + + +// var mentor1 = "Daniel"; +// var mentor2 = "Irina"; +// var mentor3 = "Mimi"; +// var mentor4 = "Rob"; +// var mentor5 = "Yohannes"; + +// function shoutyGreeting(name){ +// var greeting = name.toUpperCase(); +// return greeting = `HELLO ${greeting}`; +// } + +// var greeting1 = shoutyGreeting(mentor1); +// var greeting2 = shoutyGreeting(mentor2); +// var greeting3 = shoutyGreeting(mentor3); +// var greeting4 = shoutyGreeting(mentor4); +// var greeting5 = shoutyGreeting(mentor5); + +let mentorA = "daniel"; +let mentorB = "irina"; +let mentorC = "mimi"; +let mentorD = "rob"; +let mentorE = "yohannes"; + +function shoutyGreeting(mentorName) { + return "Hello " + mentorName + "."; +} + +let greet1 = shoutyGreeting(mentorA.toUpperCase()) +let greet2 = shoutyGreeting(mentorB.toUpperCase()) +let greet3 = shoutyGreeting(mentorC.toUpperCase()) +let greet4 = shoutyGreeting(mentorD.toUpperCase()) +let greet5 = shoutyGreeting(mentorE.toUpperCase()) + +console.log(greet1); +console.log(greet2); +console.log(greet3); +console.log(greet4); +console.log(greet5); + +// 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 70a2fe863..c9ecaf8b7 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) { + let converting = price * 1.4; + return converting; +} /* CURRENCY FORMATTING @@ -15,7 +18,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(price) { + let conversion = price * (5.7 * 0.99); + return conversion +} /* ======= 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 067dd0f5b..08dec3dc2 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,31 @@ the final result to the variable goodCode */ -function add() { - +function add(number1, number2) { + return number1 + number2; } -function multiply() { - +function multiply(number1, number2) { + return number1 * number2; } -function format() { - +function format(numbers) { + let formatNumber = `"£"${number}`; + return formatNumber; } -const startingValue = 2 +const startingValue = format(multiply((add(startingValue, 10), 2))); // Why can this code be seen as bad practice? Comment your answer. -let badCode = +let badCode = startingValue; //When my code breaks, it will be difficult to see where I went wrong. Other coders will find my code difficult to read. /* BETTER PRACTICE */ -let goodCode = +let adding = add(startingValue, 10); //used add function. +let multiplying = multiply(`${adding}`, 2); //used multiply function. +let formatting = format(`${multiplying}`); //used formatting function. + +let goodCode = formatting; //Myself and Other coders can see clearly how I get to my result. /* ======= 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 0a21afd1b..6bc206d08 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,18 +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) { 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; + let total = a + b; - return "The total is total" + return "The total is " + total; } +console.log(getTotal); + /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 3c578ad87..f2076f517 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 getWordLength(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 c9221a200..2dbcc49d2 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,18 +1,32 @@ // Add comments to explain what this function does. You're meant to use Google! + +// Math.random() returns a random number between 0 (inclusive), and 1 (exclusive): +// For example: 0.40020936983011146 +// Math.random() always returns a number lower than 1. function getNumber() { 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 — which you can then scale to your desired range. so the getnumber function multiplies the psuedo random number between 0 and 10 however not 10. // Add comments to explain what this function does. You're meant to use Google! +// The concat() method is used to join two or more arrays. +// This method does not change the existing arrays, but returns a new array, containing the values of the joined arrays. function s(w1, w2) { return w1.concat(w2); } +//I think this function allows 2 strings to be added together and create or in this case return a new string 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} ${secondWord} ${thirdWord}`; } +//Here, I called the last function. +let threeWords = concatenate("I", "don't know", "what to do here!"); + +// Here, I'm checking my output. +console.log(threeWords); + /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index c9e41c691..852da204c 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*0.2); +} /* CURRENCY FORMATTING @@ -17,8 +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(numberToBeTaxed) { + const taxedValue = calculateSalesTax(numberToBeTaxed); //return taxed value. + const formatValue = `£${taxedValue.toFixed(2)}`; //formatted tax value. + return formatValue; +} /* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE =====