From cf72aa9cef21b468fdf9e29c6399eea28acb1c51 Mon Sep 17 00:00:00 2001 From: RaquelMelow Date: Fri, 15 Dec 2023 19:49:07 +0000 Subject: [PATCH 1/2] Solved lab --- assets/js/main.js | 85 ++++++++++++++++++++++++++++++++++++++++++----- index.html | 2 +- 2 files changed, 78 insertions(+), 9 deletions(-) diff --git a/assets/js/main.js b/assets/js/main.js index 04397b5..548c3b0 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -118,8 +118,24 @@ function exists(elements, element) { * @returns {boolean} */ function every(elements, element) { - +let result = true; +let i = 0; +while (i < elements.length) { + const iElement = elements[i]; + if (iElement === element) { + result = true; + } else if (iElement !== element) { + result = false; + break; + } + i++; +} + return result; } + console.log(every([1, 2, 3, 4], 2)); + console.log(every([1, 1, 1, 1], 1)); + console.log(every(['a', 'a'] , 'a')); + console.log(every(['a', 'b'], 'a')); /** * abcd - [0,3,1,2] => acdb @@ -146,8 +162,15 @@ function scrambleIt(word, positions) { * @returns {number} */ function reverseNumber(number) { - -} + let numberReserve = ''; + + for (let i = number.toString().length - 1; i >= 0; i--) { + iNumber = number.toString()[i]; + numberReserve += iNumber; + } + return numberReserve += iNumber; + } + console.log(reverseNumber(12345)); /** * @@ -163,9 +186,44 @@ function reverseNumber(number) { * @param {string} sample * @returns {boolean} */ -function isMisspelled(original, sample) { +function isMisspelled(word1, word2) { + if (word1 === word2) { + return true; + } -} + if (word1.length === word2.length) { + let differences = 0; + for (let i = 0; i < word1.length; i++) { + if (word1[i] !== word2[i]) { + differences++; + } + } + if (differences > 1) { + return false; + } else { + return true; + } + } + + if (word1.length !== word2.length) { + if (word1.length - word2.length > 1 || word2.length - word1.length > 1) { + return false; + } else { + if (word1.includes(word2) || word2.includes(word1)) { + return true; + } else { + return false; + } + } + } + } +console.log(isMisspelled('versed', 'xersed')); +console.log(isMisspelled('versed', 'applb')); +console.log(isMisspelled('versed', 'v5rsed')); +console.log(isMisspelled('1versed', 'versed')); +console.log(isMisspelled('versed1', 'versed')); +console.log(isMisspelled('versed', 'veersed')); +console.log(isMisspelled('versed', 'versed')); /** * hello world => Hello World @@ -174,6 +232,17 @@ function isMisspelled(original, sample) { * @returns {string} */ function capitalize(sentence) { - -} - + let sentenceArray = sentence.split(" "); + let mayusLetter = ""; + for (let i = 0; i < sentenceArray.length; i++) { + let newPhrase = sentenceArray[i]; + if (newPhrase.length >= 3) { + newPhrase = newPhrase[0].toUpperCase() + newPhrase.slice(1).toLowerCase(); + } + mayusLetter += newPhrase + " " + } + mayusLetter = mayusLetter.trim(); + return mayusLetter; + } +console.log(capitalize("hello world")); +console.log(capitalize("this is a sentence")); diff --git a/index.html b/index.html index 6e5fac1..ca2698a 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,6 @@

Open the browser console

- + From 1f47961ae9d3b08e3f73b0dd5c75c17c9ec5bbc0 Mon Sep 17 00:00:00 2001 From: RaquelMelow Date: Fri, 15 Dec 2023 22:35:55 +0000 Subject: [PATCH 2/2] Solved lab --- assets/js/main.js | 63 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/assets/js/main.js b/assets/js/main.js index 548c3b0..432a771 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -246,3 +246,66 @@ function capitalize(sentence) { } console.log(capitalize("hello world")); console.log(capitalize("this is a sentence")); + +/** + * "aeiou" => true + * "a" => false + * "sol" => false + * "solitarieu" => true + * @param {string} word + * @returns {boolean} + */ +function containsAllVowels(word) { + const vocals = ['a', 'e', 'i', 'o', 'u']; + + const allVocals = vocals.every(function(vocal) { + return word.includes(vocal); + }); + + return allVocals; +} + +console.log(containsAllVowels("aeiou")); +console.log(containsAllVowels("a")); +console.log(containsAllVowels("sol")); +console.log(containsAllVowels("solitarieu")); + +/** + * Count how many sheep there are in array (ignoring cases). + * If there are a wolf in the array then a poor sheep will die, but if there are a dog then the wolf can't kill a sheep. + * ['sheep', 'wolf', 'dog', 'ShEep'] => 2 + * ['sheep', 'wolf', 'wolf', 'dog'] => 1 + * ['wolf', 'dog'] => 0 + * [] => 0 + * ['shep'] => 0 + * ['SHEEP', 'sheep', 'dog'] => 2 + * @param {[string]} animals + * @returns {number} + */ +function countSheep(animals) { + let sheepCount = 0; + let wolfCount = 0; + let dogCount = 0; + for (let i = 0; i < animals.length; i++) { + let iAnimals = animals[i]; + if (iAnimals.toLowerCase() === 'sheep') { + sheepCount++; + } else if (iAnimals.toLowerCase() === 'wolf'){ + wolfCount++; + } else if (iAnimals.toLowerCase() === 'dog'){ + dogCount++; + } + } + if (sheepCount > 0 && wolfCount > dogCount) { + sheepCount--; + } + return sheepCount; +} + + +console.log(countSheep(['sheep', 'wolf', 'dog', 'ShEep'])); +console.log(countSheep(['sheep', 'wolf', 'wolf', 'dog'])); +console.log(countSheep(['wolf', 'dog'])); +console.log(countSheep([])); +console.log(countSheep(['shep'])); +console.log(countSheep(['SHEEP', 'sheep', 'dog'])); \ No newline at end of file