Skip to content

Instantly share code, notes, and snippets.

@ross-u
Last active January 21, 2020 19:29
Show Gist options
  • Save ross-u/e99c6f6d4520abbbea0c46c1bfd3d745 to your computer and use it in GitHub Desktop.
Save ross-u/e99c6f6d4520abbbea0c46c1bfd3d745 to your computer and use it in GitHub Desktop.
LAB SOLUTION - javascript-functions-and-arrays
// 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