diff --git a/starter-code/src/functions-and-arrays.js b/starter-code/src/functions-and-arrays.js index c1f489158..d3e847f82 100644 --- a/starter-code/src/functions-and-arrays.js +++ b/starter-code/src/functions-and-arrays.js @@ -1,4 +1,16 @@ // Find the maximum +const maxOfTwoNumbers = (num1, num2) => { + if(num1 > num2) { + return num1; + } else { + return num2; + } +} + +maxOfTwoNumbers(2,1); +maxOfTwoNumbers(1,2); +maxOfTwoNumbers(2,2); + // Finding Longest Word const words = [ @@ -11,14 +23,64 @@ const words = [ 'crackpot' ]; +const findLongestWord = arr =>{ + let longestWord = ''; + + if(!arr.length) { + return null; + } else if (arr.length === 1){ + return arr[0]; + } + + for (let i = 0; i < arr.length; i++) { + for (let j= 0; j < arr.length - 1 ; j++){ + if(arr[j].length > arr[i].length) { + longestWord = arr[j]; + } + } + } + return longestWord; +} + +findLongestWord(words); + // Calculating a Sum const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10]; -// Calculate the Average +const sumArray = arr => { + let sum = 0; + + if (!arr.length) { + return 0; + } + for (let i = 0; i < arr.length; i++) { + sum += arr[i]; + } + return sum; +} + +sumArray(numbers); + + +// Calculate the Average const numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9]; +const averageNumbers = arr => { + let sum = 0; + + if (!arr.length) { + return null; + } + for (let i = 0; i < arr.length; i++) { + sum += arr[i]; + } + return sum / arr.length; +}; + +averageNumbers(numbersAvg); + // Array of Strings const wordsArr = [ 'seat', @@ -33,6 +95,19 @@ const wordsArr = [ 'palace' ]; +const averageWordLength = arr => { +let averageWord = 0; + + if(!arr.length) { + return null; + } + + for(let i = 0; i < arr.length; i++) { + averageWord += arr[i].length; + } + return averageWord / arr.length; +}; + // Unique Arrays const wordsUnique = [ 'crab', @@ -48,6 +123,26 @@ const wordsUnique = [ 'bring' ]; +const uniquifyArray = arr => { + if (!arr.length) { + return []; + } + + for(let i = 0; i < arr.length; i++) { + //console.log(arr[i]); + for(let j = 0; j < arr.length - 1; j++) { + //console.log(arr[i]); + //console.log('Segunda ' + arr[i+1]); + if(arr[i] === arr[j]) { + arr.splice(arr[j],1); + } + } + } + +} + +//uniquifyArray(wordsUnique); + // Finding Elements const wordsFind = [ 'machine', @@ -60,6 +155,27 @@ const wordsFind = [ 'disobedience' ]; + const doesWordExist = (arr, word) => { + if(!arr.length) { + return false; + } + if(arr[0] === word) { + return true; + } + for (let i = 0; i < arr.length; i++){ + if(arr[i] === word) { + return true; + } else { + return false; + } + } + } + + + doesWordExist(wordsFind, 'machine') + + + // Counting Repetition const wordsCount = [ 'machine', @@ -75,6 +191,25 @@ const wordsCount = [ 'matter' ]; + +const howManyTimes = (arr, word) => { + let wordTimes = 0; + + if(!arr.length) { + return 0; + } + + for(let i = 0; i < arr.length; i++) { + if(arr[i] === word) { + wordTimes++; + } + } + return wordTimes; +} + +howManyTimes(wordsCount, 'matter'); + + // Bonus const matrix = [