diff --git a/lab-javascript-functions-and-arrays b/lab-javascript-functions-and-arrays new file mode 160000 index 000000000..8ff766d48 --- /dev/null +++ b/lab-javascript-functions-and-arrays @@ -0,0 +1 @@ +Subproject commit 8ff766d48cfaec4c92933502f549cd08ebd9661f diff --git a/src/functions-and-arrays.js b/src/functions-and-arrays.js index 3a7dbec41..f82d931b0 100644 --- a/src/functions-and-arrays.js +++ b/src/functions-and-arrays.js @@ -1,119 +1,294 @@ // Iteration #1: Find the maximum -function maxOfTwoNumbers() {} - - +function maxOfTwoNumbers(num1, num2) { + if (num1 > num2) { + return num1; + } else { + return num2; + } +} +maxOfTwoNumbers(1, 5); // Iteration #2: Find longest word -const words = ['mystery', 'brother', 'aviator', 'crocodile', 'pearl', 'orchard', 'crackpot']; - -function findLongestWord() {} - +const words = [ + "mystery", + "brother", + "aviator", + "crocodile", + "pearl", + "orchard", + "crackpot", +]; +function findLongestWord(words) { + if (words.length === 0) { + return null; + } + let palabraMasLarga = words[0]; + for (i = 1; i < words.length; i++) { + if (words[i].length > palabraMasLarga.length) { + palabraMasLarga = words[i]; + } else if (words[i].length === palabraMasLarga.length) { + } + } + + return palabraMasLarga; +} // Iteration #3: Calculate the sum const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10]; -function sumNumbers() {} - - +function sumNumbers(numbers) { + if (numbers.length === 0) { + return 0; + } + let sum = 0; + for (i = 0; i < numbers.length; i++) { + sum += numbers[i]; + } + return sum; +} // Iteration #3.1 Bonus: -function sum() {} - - - +/*"NO SE HACERLO"const mixedArr = [6, 12, "miami", 1, true, "barca", "200", "lisboa", 8, 10]; +function sum(mixedArr) { + if (mixedArr.length === 0) { + return [0, ""]; + } + let sum = 0; + let sumCadenas = ""; + for (let i = 0; i < mixedArr.length; i++) { + const elemento = mixedArr[i]; + if (typeof elemento === "number") { + sum += elemento; + } else if (typeof elemento === "string") { + sumCadenas += elemento; + } + } + return [sum, sumCadenas]; +} +*/ // Iteration #4: Calculate the average // Level 1: Array of numbers const numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9]; -function averageNumbers() {} - +function averageNumbers(numbersAvg) { + if (numbersAvg.length === 0){ + return null + } + let sum = 0 + for (let i = 0; i < numbersAvg.length; i++){ + + sum += numbersAvg[i] + + } + const media = sum/numbersAvg.length + return media +} // Level 2: Array of strings -const wordsArr = ['seat', 'correspond', 'linen', 'motif', 'hole', 'smell', 'smart', 'chaos', 'fuel', 'palace']; +const wordsArr = [ + "seat", + "correspond", + "linen", + "motif", + "hole", + "smell", + "smart", + "chaos", + "fuel", + "palace", +]; -function averageWordLength() { } +function averageWordLength(wordsArr) { + if (wordsArr.length === 0){ + return null + } + let sum = 0 + for (let i = 0; i < wordsArr.length; i++){ + + sum += wordsArr[i].length + + } +const media = sum/wordsArr.length +return media +} // Bonus - Iteration #4.1 -function avg() {} +const mixedArr = [6, 12, 'miami', 1, true, 'barca', '200', 'lisboa', 8, 10]; +function avg(mixedArr) { + if (mixedArr.length === 0){ + return null + } + + let sumaDeTodo = 0 + for (let i = 0; i < mixedArr.length; i++){ + if (typeof mixedArr[i] === "number"){ +sumaDeTodo += mixedArr[i] + } else if (mixedArr[i] === true){ + sumaDeTodo += 1 + } else if (mixedArr[i] === false){ + sumaDeTodo += 0 + } else { + sumaDeTodo += mixedArr[i].length + } + } + const average = sumaDeTodo/mixedArr.length + + return average +} // Iteration #5: Unique arrays const wordsUnique = [ - 'crab', - 'poison', - 'contagious', - 'simple', - 'bring', - 'sharp', - 'playground', - 'poison', - 'communion', - 'simple', - 'bring' + "crab", + "poison", + "contagious", + "simple", + "bring", + "sharp", + "playground", + "poison", + "communion", + "simple", + "bring", ]; -function uniquifyArray() {} - - +function uniquifyArray(wordsUnique) { + if (wordsUnique.length === 0){ +return null + } +let wordsNoDuplicados = [] +for (let i = 0; i