Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 107 additions & 1 deletion starter-code/src/functions-and-arrays.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
// Find the maximum
function maxOfTwoNumbers(a,b) {
if(a > b) {
return a
}
return b
}

// Finding Longest Word
var words = [
Expand All @@ -11,14 +17,44 @@ var words = [
'crackpot'
];

function wordsArrayLength(words){
let temp = [];
words.forEach((str,i) => {
temp[i] = str.length
});
return temp
}

function findLongestWord(words) {
if(words.length === 1) return words[0]

temp = wordsArrayLength(words);

let n = temp[1];
for(let i=0; i < temp.length; i++){
if(n<=temp[i]){
n = temp[i];
}
}
return (words[temp.indexOf(n)]);
}
// Calculating a Sum

var numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];

// Calculate the Average
function sumArray(numbers){
if(numbers.length === 0) return 0;
return numbers.reduce((acc, val) => acc+val)
}

// Calculate the Average
var numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9];

function averageNumbers(numbersAvg){
if(numbersAvg.length === 0) return undefined;
return sumArray(numbersAvg)/numbersAvg.length
}

// Array of Strings
var wordsArr = [
'seat',
Expand All @@ -33,6 +69,11 @@ var wordsArr = [
'palace'
];

function averageWordLength(wordsArr){
temp = wordsArrayLength(wordsArr)
return averageNumbers(temp)
}

// Unique Arrays
var wordsUnique = [
'crab',
Expand All @@ -48,6 +89,11 @@ var wordsUnique = [
'bring'
];

function uniquifyArray(wordsUnique){
if(wordsUnique.length ===0) return undefined;
return wordsUnique.filter((word, i, arr) => arr.indexOf(word) === i);
}

// Finding Elements
var wordsFind = [
'machine',
Expand All @@ -60,6 +106,10 @@ var wordsFind = [
'disobedience'
];

function doesWordExist(wordsFind, word){
return wordsFind.includes(word);
}

// Counting Repetion
var wordsCount = [
'machine',
Expand All @@ -74,6 +124,17 @@ var wordsCount = [
'disobedience',
'matter'
];

function howManyTimes(wordsCount, search) {
if(wordsCount.length === 0) return false
let counter = 0;
wordsCount.forEach((word, i) => {
if(search===word){
counter += 1;
}
})
return counter;
}
// Bonus Quest

var matrix = [
Expand All @@ -98,3 +159,48 @@ var matrix = [
[20, 73, 35, 29, 78, 31, 90, 1, 74, 31, 49, 71, 48, 86, 81, 16, 23, 57, 5, 54],
[1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48]
];

function greatestProduct(matrix){
let prod = 0,
m = [1,1,1,1];
let multMatrix = [];

for(let i=0; i < matrix.length; i++){
for(let j=0; j < matrix[i].length; j++){
//UP BLOCK
if(matrix[i-1]) {
m[0] = matrix[i-1][j] }

//DOWN BLOCK
if(matrix[i+1]) {
m[1] = matrix[i+1][j];
}

//RIGHT BLOCK
if(matrix[i][j+1]) {
m[2] = matrix[i][j+1];
}

//LEFT BLOCK
if(matrix[i][j-1]) {
m[3] = matrix[i][j-1];
}

console.log(m)

//MULTIPLY BLOCK
prod = m[0]*m[1]*m[2]*m[3];
multMatrix.push(prod);
m = [1,1,1,1];
}
}
console.log(multMatrix);
console.log(Math.max(...multMatrix));
return Math.max(...multMatrix)
}

greatestProduct([
[2,2,2,2,2],
[2,2,2,2,2],
[2,2,2,2,2],
[2,2,2,2,2]]);