Last active
January 21, 2020 19:29
-
-
Save ross-u/e99c6f6d4520abbbea0c46c1bfd3d745 to your computer and use it in GitHub Desktop.
LAB SOLUTION - javascript-functions-and-arrays
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Find the maximum | |
function maxOfTwoNumbers(x, y) { | |
if (x > y) { | |
return x; | |
} | |
return y; | |
} | |
// Finding Longest Word | |
var words = [ | |
'mystery', | |
'brother', | |
'aviator', | |
'crocodile', | |
'pearl', | |
'orchard', | |
'crackpot', | |
]; | |
function findLongestWord(arr) { | |
if (arr.length === 0) { | |
return undefined; | |
} | |
if (arr.length === 1) { | |
return arr[0]; | |
} | |
var largest = ''; | |
for (var i = 0; i < arr.length; i++) { | |
if (arr[i].length > largest.length) { | |
largest = arr[i]; | |
} | |
} | |
return largest; | |
} | |
// Calculating a Sum | |
var numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10]; | |
function sumArray(arr) { | |
var result = 0; | |
if (arr.length === 0) { | |
return result; | |
} | |
for (var i = 0; i < arr.length; i++) { | |
result += arr[i]; | |
} | |
return result; | |
} | |
// Calculate the Average | |
var numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9]; | |
function averageNumbers(arr) { | |
var average = 0; | |
var result = 0; | |
if (arr.length === 0) { | |
return undefined; | |
} | |
if (arr.length === 1) { | |
return arr[0]; | |
} | |
for (var i = 0; i < arr.length; i++) { | |
result += arr[i]; | |
} | |
average = result / arr.length; | |
return average; | |
} | |
// Array of Strings | |
var wordsArr = [ | |
'seat', | |
'correspond', | |
'linen', | |
'motif', | |
'hole', | |
'smell', | |
'smart', | |
'chaos', | |
'fuel', | |
'palace', | |
]; | |
function averageWordLength(arr) { | |
var average = 0; | |
var result = 0; | |
if (arr.length === 0) { | |
return undefined; | |
} | |
if (arr.length === 1) { | |
return arr[0].length; | |
} | |
for (var i = 0; i < arr.length; i++) { | |
result += arr[i].length; | |
} | |
average = result / arr.length; | |
return average; | |
} | |
// Unique Arrays | |
var wordsUnique = [ | |
'crab', | |
'poison', | |
'contagious', | |
'simple', | |
'bring', | |
'sharp', | |
'playground', | |
'poison', | |
'communion', | |
'simple', | |
'bring', | |
]; | |
function uniquifyArray(arr) { | |
var newWords = []; | |
if (arr.length === 0) { | |
return undefined; | |
} | |
if (arr.length === 1) { | |
newWords.push(arr[0]); | |
return newWords; | |
} | |
for (var i = arr.length - 1; i >= 0; i--) { | |
if (arr.indexOf(arr[i]) === i) { | |
newWords.unshift(arr[i]); | |
} | |
} | |
return newWords; | |
} | |
// Finding Elements | |
var wordsFind = [ | |
'machine', | |
'subset', | |
'trouble', | |
'starting', | |
'matter', | |
'eating', | |
'truth', | |
'disobedience', | |
]; | |
function doesWordExist(arr, word) { | |
for (var i = 0; i < arr.length; i++) { | |
if (arr[i] === word) { | |
return true; | |
} | |
} | |
return false; | |
} | |
// Counting Repetion | |
var wordsCount = [ | |
'machine', | |
'matter', | |
'subset', | |
'trouble', | |
'starting', | |
'matter', | |
'eating', | |
'matter', | |
'truth', | |
'disobedience', | |
'matter', | |
]; | |
function howManyTimes(arr, word) { | |
var count = 0; | |
if (arr.length === 0) { | |
return false; | |
} | |
for (var i = 0; i < arr.length; i++) { | |
if (arr[i] === word) { | |
count++; | |
} | |
} | |
return count; | |
} | |
// Bonus Quest | |
var matrix = [ | |
[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8], | |
[4, 49, 9, 3, 17, 81, 18, 5, 60, 1, 11, 40, 8, 43, 69, 42, 4, 56, 62, 0], | |
]; | |
function greatestProduct(arr) { | |
var maximum = 0; | |
for (var i = 0; i < arr[0].length - 3; i++) { | |
for (var j = 0; j < arr.length - 3; j++) { | |
if (maximum < arr[i][j] * arr[i][j + 1] * arr[i][j + 2] * arr[i][j + 3]) { | |
maximum = arr[i][j] * arr[i][j + 1] * arr[i][j + 2] * arr[i][j + 3]; | |
} | |
if ( i < (arr[i][j] * arr[i + 1][j] * arr[i + 2][j] * arr[i + 3][j]) ) { | |
maximum = arr[i][j] * arr[i + 1][j] * arr[i + 2][j] * arr[i + 3][j]; | |
} | |
} | |
} | |
return maximum; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment