diff --git a/exercise.js b/exercise.js new file mode 100644 index 000000000..99ac19117 --- /dev/null +++ b/exercise.js @@ -0,0 +1,120 @@ +/*function isEven (num) { + if (num%2 === 0) + return true; + else + return false; + +} + +console.log(isEven(235))*/ + +function isEven (num) { + +} + + +/*function moreThanSixGoal (num1, num2) { + let total = num1 + num2; + if (total > 6) + return true; + else + return false; + +} + +console.log (moreThanSixGoal(2)); +console.log (moreThanSixGoal(8));*/ + +/* +function numberChecker(num) { + if (num > 20) { + return `${num} is greater than 20`; + } else if (num === 20) { + return `${num} is equal to 20`; + } else if (num < 20) { + return `${num} is less than 20`; + } else { + return `${num} isn't even a number :(`; + } + } + + console.log(numberChecker(10)); + console.log(numberChecker(56)); + + + function yourMood(message) { + if (message === "happy") { + return "Good job, you're doing great!"; + } else if (message ==="sad") { + return "Every cloud has a silver lining"; + } else if (typeof message === "number") { + return "Beep beep boop" + } else { + return "I'm sorry, I'm still learning about feelings!"; + } + } + + console.log(yourMood("happy")); + console.log(yourMood("sad")); + console.log (yourMood("sasdfasdf")); + */ + + /*let num = 10 +num > 5 && num < 15 +num < 10 || num === 10 +false || true +!true +let greaterThan5 = num > 5 +!greaterThan5 +!(num === 10) + +function checkUsername (userName, userType) { + if (userName[0] === userName[0].toUppercase() && userName.length > 5 && userName < 10) { + return "Username valid"; + } else if (userType === "admin" || userType === "manager") { + return "Username valid"; + } else { + return "Username invalid"; + } + +} + +console.log(checkUsername("Irina", "admin")); +*/ + +/* +const fruits = ["banana", "apple", "strawberry", "kiwi", "fig", "orange"]; +console.log(fruits[2]); +console.log(fruits[3]); +console.log(fruits[5]); +console.log(fruits[0]); +console.log(fruits[-3]); +console.log(fruits[8]); + +fruits[6] = "peach"; + +console.log(fruits); + +fruits[10] = "pear"; +console.log(fruits); +*/ + +const products = ["smart phones", "chargers", "laptops", "monitors", "printers", "keyboards", "mice"]; + +function numberOfProducts(products) { + return products.length; +} + +function inStock(myProducts, nameOfProduct) { + for (let i = 0; i < myProducts.length; i++) { + + if (nameOfProduct === myProducts[i]) { + return true + } else { + return false + } + +} +} + +console.log(inStock(products, "mice")); \ No newline at end of file diff --git a/exercises/B-hello-world/exercise.js b/exercises/B-hello-world/exercise.js index b179ee953..31deceb06 100644 --- a/exercises/B-hello-world/exercise.js +++ b/exercises/B-hello-world/exercise.js @@ -1 +1,5 @@ console.log("Hello world"); + + + +console.log(12345); diff --git a/exercises/C-variables/exercise.js b/exercises/C-variables/exercise.js index a6bbb9786..9fd6c22e0 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..2a811c6ec 100644 --- a/exercises/D-strings/exercise.js +++ b/exercises/D-strings/exercise.js @@ -1,3 +1,5 @@ // Start by creating a variable `message` - +let message = "This is a string"; console.log(message); +let messageType = typeof(message); +console.log(messageType); \ No newline at end of file diff --git a/exercises/E-strings-concatenation/exercise.js b/exercises/E-strings-concatenation/exercise.js index 2cffa6a81..3dfd11dd7 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` +let greetingStart = "Hello! My name is "; +let myName = "Irina"; +let message = greetingStart + myName; console.log(message); diff --git a/exercises/F-strings-methods/exercise.js b/exercises/F-strings-methods/exercise.js index 2cffa6a81..ab34a19f7 100644 --- a/exercises/F-strings-methods/exercise.js +++ b/exercises/F-strings-methods/exercise.js @@ -1,3 +1,6 @@ // Start by creating a variable `message` +let myName = "Irina"; +let nameLength = myName.length; +let message = "Hello! My name is " + myName + " and my Name is " + nameLength + " characters long."; console.log(message); diff --git a/exercises/F-strings-methods/exercise2.js b/exercises/F-strings-methods/exercise2.js index b4b46943d..1a11615ad 100644 --- a/exercises/F-strings-methods/exercise2.js +++ b/exercises/F-strings-methods/exercise2.js @@ -1,3 +1,8 @@ const name = " Daniel "; - +let message = "My name is " + name + " and my name is 6 characters long." console.log(message); +let nameTrim = name.trim(); + +let message2 = "My name is " + nameTrim + " and my name is 6 characters long"; +console.log(message2); + diff --git a/exercises/G-numbers/exercise.js b/exercises/G-numbers/exercise.js index 49e7bc00b..cf243a47f 100644 --- a/exercises/G-numbers/exercise.js +++ b/exercises/G-numbers/exercise.js @@ -1 +1,8 @@ // Start by creating a variables `numberOfStudents` and `numberOfMentors` +let numberOfStudents = 8; +let numberOfMentors = 15; +let totalNumber = numberOfMentors + numberOfStudents; + +console.log("Number of students: " + numberOfStudents); +console.log("Number of mentors: " + numberOfMentors); +console.log("Total number of students and mentors " + totalNumber); diff --git a/exercises/I-floats/exercise.js b/exercises/I-floats/exercise.js index a5bbcd852..99aa50c4e 100644 --- a/exercises/I-floats/exercise.js +++ b/exercises/I-floats/exercise.js @@ -1,2 +1,14 @@ var numberOfStudents = 15; var numberOfMentors = 8; + +let totalNumber = numberOfMentors + numberOfStudents; + +let percentOfStudents = numberOfStudents * 100 / totalNumber; +let percentOfMentors = numberOfMentors * 100 / totalNumber; + + + +let roughPerSt = Math.round(percentOfStudents); +let roughPerMent= Math.round(percentOfMentors); +console.log("Percentage students: " + roughPerMent + "%"); +console.log("Percentage mentors: " + roughPerSt + "%"); \ No newline at end of file diff --git a/exercises/J-functions/exercise.js b/exercises/J-functions/exercise.js index 0ae5850e5..8a48f807b 100644 --- a/exercises/J-functions/exercise.js +++ b/exercises/J-functions/exercise.js @@ -1,7 +1,10 @@ function halve(number) { // complete the function here + return number / 2; } var result = halve(12); console.log(result); +console.log(halve(6)); + diff --git a/exercises/J-functions/exercise2.js b/exercises/J-functions/exercise2.js index 82ef5e780..0b0d803b1 100644 --- a/exercises/J-functions/exercise2.js +++ b/exercises/J-functions/exercise2.js @@ -1,7 +1,9 @@ function triple(number) { // complete function here + return number*3; } var result = triple(12); console.log(result); +console.log(triple(5)); \ No newline at end of file diff --git a/exercises/K-functions-parameters/exercise.js b/exercises/K-functions-parameters/exercise.js index 8d5db5e69..cb0b0d927 100644 --- a/exercises/K-functions-parameters/exercise.js +++ b/exercises/K-functions-parameters/exercise.js @@ -1,5 +1,6 @@ // Complete the function so that it takes input parameters -function multiply() { +function multiply(num1, num2) { + return num1 * num2; // 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..02a698a36 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..075215630 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..ae7a5dd6f 100644 --- a/exercises/K-functions-parameters/exercise4.js +++ b/exercises/K-functions-parameters/exercise4.js @@ -1,5 +1,7 @@ // Declare your function first - +function sumNumbers (a, b) { + return a+b; +} // Call the function and assign to a variable `sum` - +var sum = sumNumbers (13, 124); console.log(sum); diff --git a/exercises/K-functions-parameters/exercise5.js b/exercises/K-functions-parameters/exercise5.js index 7c5bcd605..96a112234 100644 --- a/exercises/K-functions-parameters/exercise5.js +++ b/exercises/K-functions-parameters/exercise5.js @@ -1,4 +1,9 @@ // Declare your function here +function createLongGreeting(name, age) { + return "Hello! My name is " + name + " and I am " + 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..0ce3e66ea 100644 --- a/exercises/L-functions-nested/exercise.js +++ b/exercises/L-functions-nested/exercise.js @@ -3,3 +3,14 @@ var mentor2 = "Irina"; var mentor3 = "Mimi"; var mentor4 = "Rob"; var mentor5 = "Yohannes"; + + +function greeting(name) { + let sayHello = "hello " + name; + return sayHello.toUpperCase(); +} +console.log(greeting(mentor1)); +console.log(greeting(mentor2)); +console.log(greeting(mentor3)); +console.log(greeting(mentor4)); +console.log(greeting(mentor5)); \ No newline at end of file diff --git a/extra/1-currency-conversion.js b/extra/1-currency-conversion.js index 75b3c6aab..dd3237e3f 100644 --- a/extra/1-currency-conversion.js +++ b/extra/1-currency-conversion.js @@ -5,7 +5,11 @@ Write a function that converts a price to USD (exchange rate is 1.4 $ to £) */ -function convertToUSD() {} +function convertToUSD(oldPrice) { + return oldPrice * 1.4; +} + + /* CURRENCY CONVERSION @@ -15,7 +19,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 newPrice = ((price * 99) / 100) * 5.7; + let brazilPrice = newPrice.toFixed(2); +} /* ======= 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..575d5e785 100644 --- a/extra/2-piping.js +++ b/extra/2-piping.js @@ -16,26 +16,32 @@ 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(a) { + return "£"+a; } const startingValue = 2; // Why can this code be seen as bad practice? Comment your answer. -let badCode = +// too many functions, difficult to understand; +format (multiply(add(startingValue, 10), 2)); + /* BETTER PRACTICE */ -let goodCode = +let sum = add(startingValue, 10); +let mult = multiply(sum, 2); + + +let goodCode = format(mult); /* ======= 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..7172d4a58 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,18 @@ // 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; } /* 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..905f49320 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,14 +1,21 @@ // Add comments to explain what this function does. You're meant to use Google! + +/* The Math.random() method returns a random number from 0 (inclusive) up to but not including 1 (exclusive). In this case the function will return a random number between 1 and 10: */ function getRandomNumber() { return Math.random() * 10; } // Add comments to explain what this function does. You're meant to use Google! + +/* The concat() method joins two or more strings. And at the same time we don't change the existing string. */ 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..d37922302 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,14 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(num) { + let tax = (num * 20) / 100; + return tax + num; +} + + + + /* CURRENCY FORMATTING @@ -17,7 +24,9 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} +function addTaxAndFormatCurrency(num) { + return "£" + calculateSalesTax(num).toFixed(2); +} /* =================================================== diff --git a/package.json b/package.json index 93e0861e3..9e7f2ffeb 100644 --- a/package.json +++ b/package.json @@ -14,15 +14,21 @@ "url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues" }, "jest": { - "setupFilesAfterEnv": ["jest-extended"], + "setupFilesAfterEnv": [ + "jest-extended" + ], "projects": [ { "displayName": "mandatory", - "testMatch": ["/mandatory/*.js"] + "testMatch": [ + "/mandatory/*.js" + ] }, { "displayName": "extra", - "testMatch": ["/extra/*.js"] + "testMatch": [ + "/extra/*.js" + ] } ] },