From 8e170a170fdc68acf48caec87dc6f198da326f5c Mon Sep 17 00:00:00 2001 From: TMajlu Date: Tue, 1 Oct 2024 13:00:06 +0200 Subject: [PATCH] Thomas Nielsen --- .idea/.gitignore | 3 +++ .idea/js-fundamentals-control-flow.iml | 9 ++++++++ .idea/misc.xml | 6 +++++ .idea/modules.xml | 8 +++++++ .idea/vcs.xml | 6 +++++ src/boolean-conditions.js | 4 ++-- src/multiple-conditions.js | 15 ++++++++++-- src/numeric-conditions.js | 9 ++++---- src/string-conditions.js | 32 +++++++++++++++++++------- 9 files changed, 76 insertions(+), 16 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/js-fundamentals-control-flow.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/js-fundamentals-control-flow.iml b/.idea/js-fundamentals-control-flow.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/js-fundamentals-control-flow.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..18d3da9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/boolean-conditions.js b/src/boolean-conditions.js index 5b73eb4..86e0255 100644 --- a/src/boolean-conditions.js +++ b/src/boolean-conditions.js @@ -1,10 +1,10 @@ // Initialise the didPass variable with a boolean value -let didPass +const didPass = true // 1. Create a conditional statement that changes the answer variable to the string // "Well done, you passed!" if didPass is true, or "Sorry, try again!" if didPass // is false -let answer +const answer = didPass ? 'Well done, you passed!' : 'Sorry, try again!' // 2. When you're done and the test passes, changing didPass to the opposite boolean // and run the test again to make sure it still passes diff --git a/src/multiple-conditions.js b/src/multiple-conditions.js index 46c8e76..fc80f83 100644 --- a/src/multiple-conditions.js +++ b/src/multiple-conditions.js @@ -6,7 +6,7 @@ const NUM = 9 // eslint-disable-line no-unused-vars // 1. Use conditional statements to set the value of the answerOne variable // to be true if the NUM variable is more than or equal to the LOWER variable // AND is less than or equal to the UPPER variable -let answerOne +const answerOne = NUM >= LOWER && NUM <= UPPER // Task 2 const STR = null @@ -16,7 +16,7 @@ const STR = null // Set answerTwo to false if it's neither of those // Run the test after setting STR to 'Hello', then 'Goodbye', then any other value you like // to verify your code is correct -let answerTwo +const answerTwo = STR === 'Hello' || STR === 'Goodbye' // Task 3 const AGE = 0 @@ -34,6 +34,17 @@ const AGE = 0 // 13-19 | Teenager // 20+ | Adult let answerThree +if (AGE === 0) { + answerThree = 'Baby' +} else if (AGE < 5) { + answerThree = 'Toddler' +} else if (AGE < 13) { + answerThree = 'Child' +} else if (AGE < 20) { + answerThree = 'Teenager' +} else { + answerThree = 'Adult' +} // Run the test after changing the AGE value to verify you've successfully // accounted for each age range diff --git a/src/numeric-conditions.js b/src/numeric-conditions.js index 030005f..6307414 100644 --- a/src/numeric-conditions.js +++ b/src/numeric-conditions.js @@ -8,17 +8,18 @@ const ARRAY_TWO = ['Hello', 'Conditions', NUM_ONE] // eslint-disable-line no-unu // 1. Use conditional statements to set answerOne to false if ARRAY_ONE is not empty // or true if it is empty -let answerOne +const answerOne = ARRAY_ONE.length === 0 +console.log(answerOne) // 2. Use conditional statements to set answerTwo to false if ARRAY_TWO is not empty // or true if it is empty -let answerTwo +const answerTwo = ARRAY_TWO.length === 0 // 3. Use conditional statements to set answerThree to true if NUM_ONE is more than NUM_TWO -let answerThree +const answerThree = NUM_ONE > NUM_TWO // 4. Use conditional statements to set answerFour to true if NUM_ONE or NUM_TWO are included in ARRAY_TWO -let answerFour +const answerFour = ARRAY_TWO.includes(NUM_ONE) || ARRAY_TWO.includes(NUM_TWO) // Don't edit the code below this line module.exports = { diff --git a/src/string-conditions.js b/src/string-conditions.js index 71d3944..67381da 100644 --- a/src/string-conditions.js +++ b/src/string-conditions.js @@ -1,45 +1,51 @@ // 1. Use conditional statements to set answerOne to true if STR_ONE is 'Hello' const STR_ONE = 'Hello' // eslint-disable-line no-unused-vars -let answerOne +const answerOne = STR_ONE === 'Hello' // 2. Use conditional statements to set answerTwo to true if STR_TWO is not 'Hello' const STR_TWO = 'Goodbye' // eslint-disable-line no-unused-vars -let answerTwo +const answerTwo = STR_TWO !== 'Hello' // 3. Use conditional statements to set answerThree to true if STR_THREE is // longer than STR_FOUR const STR_THREE = 'Hello' // eslint-disable-line no-unused-vars const STR_FOUR = 'Good' // eslint-disable-line no-unused-vars -let answerThree +const answerThree = STR_THREE.length > STR_FOUR.length // 4. Use conditional statements to set answerFour to true // if STR_FIVE starts and ends with the same character, regardless of case const STR_FIVE = 'Alexandra' // eslint-disable-line no-unused-vars -let answerFour +const answerFour = + STR_FIVE[0].toLowerCase() === STR_FIVE[STR_FIVE.length - 1].toLowerCase() // 5. Use conditional statements to set answerFive to true // if STR_SIX starts and ends with the same character, regardless of case const STR_SIX = 'Joanna' // eslint-disable-line no-unused-vars -let answerFive +const answerFive = + STR_SIX[0].toLowerCase() === STR_SIX[STR_SIX.length - 1].toLowerCase() // 6. Use conditional statements to set answerSix to the middle character of STR_SEVEN // if STR_SEVEN has an odd number of characters const STR_SEVEN = 'Kayla' // eslint-disable-line no-unused-vars -let answerSix +const answerSix = + STR_SEVEN.length % 2 === 0 ? '' : STR_SEVEN[(STR_SEVEN.length - 1) / 2] // 7. Use conditional statements to set answerSeven to the middle two characters of // STR_EIGHT if STR_EIGHT has an even number of characters const STR_EIGHT = 'Alex' // eslint-disable-line no-unused-vars -let answerSeven +const answerSeven = + STR_EIGHT.length % 2 === 0 + ? STR_EIGHT.slice(STR_EIGHT.length / 2 - 1, STR_EIGHT.length / 2 + 1) + : '' // 8. Set answerEight to the appropriate season based on what MONTH is set to // @@ -55,7 +61,17 @@ let answerSeven // Run the test after changing the value of MONTH to check you've covered every month correctly const MONTH = 'January' -let answerEight +let answerEight = '' + +if (['March', 'April', 'May'].includes(MONTH)) { + answerEight = 'Spring' +} else if (['June', 'July', 'August'].includes(MONTH)) { + answerEight = 'Summer' +} else if (['September', 'October', 'November'].includes(MONTH)) { + answerEight = 'Autumn' +} else if (['December', 'January', 'February'].includes(MONTH)) { + answerEight = 'Winter' +} module.exports = { answerOne,