Skip to content

[MAD DE] Clara Pardo #2924

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
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
333 changes: 292 additions & 41 deletions src/functions-and-arrays.js
Original file line number Diff line number Diff line change
@@ -1,41 +1,182 @@
// Iteration #1: Find the maximum
function maxOfTwoNumbers() {}

function maxOfTwoNumbers(num1, num2) {
if (num1 > num2)
return num1
else
return num2
}
// console.log(maxOfTwoNumbers(5,2))


// Iteration #2: Find longest word
const words = ['mystery', 'brother', 'aviator', 'crocodile', 'pearl', 'orchard', 'crackpot'];
const words = ['mystery', 'brother', 'aviator', 'crocodile', 'pearl', 'orchard', 'crackpot']

function findLongestWord(array) {

let longer = ""
let longerCount = 0

if (array.length === 0) {
return null
} else {

for (i = 0; i < array.length; i++) {
if (array[i].length > longerCount) {

longerCount = array[i].length
longer = array[i]

}
}
}
return longer
}
// console.log(findLongestWord(words))

function findLongestWord() {}



// Iteration #3: Calculate the sum
const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];
const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10]

function sumNumbers(array) {

let sum = 0

for (let i = 0; i < array.length; i++) {

if (array.length === 0) {
return 0
} else {
sum += array[i]
}
}
return sum
}
// console.log(sumNumbers(numbers))



function sumNumbers() {}



// Iteration #3.1 Bonus:
function sum() {}
const mixedArr = [6, 12, 'miami', 1, 'barca', '200', 'lisboa', 8, true]

// should return: 57
function sum(array) {

let counter = 0

for (let i = 0; i < array.length; i++) {
switch (typeof array[i]) {
case 'number':
counter += array[i]
break
case 'string':
counter += array[i].length
break
case 'boolean':
counter += array[i]
break
default:
throw new Error("Unsupported data type sir or ma'am")
break
}

}

return counter
}
// console.log(sum(mixedArr))





// Iteration #4: Calculate the average
// Level 1: Array of numbers
const numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9];
const numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9]

function averageNumbers() {}
function averageNumbers(arrayNum) {

let totalSum = 0


if (arrayNum.length === 0) {
return null
} else {

for (let i = 0; i < arrayNum.length; i++) {
totalSum += arrayNum[i]
}
return totalSum / arrayNum.length

}
}
// console.log(averageNumbers(numbersAvg))


// 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(arrStr) {

let totalSumLength = 0

if (arrStr.length === 0) {
return null
} else {

for (let i = 0; i < arrStr.length; i++) {
totalSumLength += arrStr[i].length
}
return totalSumLength / arrStr.length

}

}
// console.log(averageWordLength(wordsArr))


function averageWordLength() { }

// Bonus - Iteration #4.1
function avg() {}
function avg(arrayList) {

let count = 0

if (arrayList.length === 0) {
return null
} else {

for (let i = 0; i < arrayList.length; i++) {

switch (typeof arrayList[i]) {
case 'number':
count += arrayList[i]
break
case 'string':
count += arrayList[i].length
break
case 'boolean':
count += arrayList[i]
break
default:
throw new Error("Unsupported data type sir or ma'am")
}

}

}

let finalResult = count / arrayList.length
finalResult = Number(finalResult.toFixed(2))
return finalResult
}
// console.log(avg(mixedArr))




// Iteration #5: Unique arrays
const wordsUnique = [
Expand All @@ -50,16 +191,58 @@ const wordsUnique = [
'communion',
'simple',
'bring'
];
]


function uniquifyArray(arrayUnique) {

let newArray = []
let j = 0

if (arrayUnique.length === 0) {
return null
} else {

for (let i = 0; i < arrayUnique.length; i++) {
if (arrayUnique.indexOf(arrayUnique[i]) >= i) {
newArray[j] = arrayUnique[i]
j++
}
}
return newArray

}

}

// console.log(uniquifyArray(wordsUnique))



function uniquifyArray() {}



// Iteration #6: Find elements
const wordsFind = ['machine', 'subset', 'trouble', 'starting', 'matter', 'eating', 'truth', 'disobedience'];
const wordsFind = ['machine', 'subset', 'trouble', 'starting', 'matter', 'eating', 'truth', 'disobedience']

function doesWordExist(wordsArray, searchWord) {
if (wordsArray.length === 0) {
return null
} else {

if (wordsArray.includes(searchWord)) {
return true
} else {
return false
}

}
}

// console.log(doesWordExist(wordsFind, 'machine'))



function doesWordExist() {}



Expand All @@ -76,37 +259,105 @@ const wordsCount = [
'truth',
'disobedience',
'matter'
];
]

function howManyTimes(arrayToCompare, lookingForThis) {

let counter = 0

for (let i = 0; i < arrayToCompare.length; i++) {

if (arrayToCompare[i] === lookingForThis) {
counter += 1
}

}

return counter
}

// console.log(howManyTimes(wordsCount, 'matter'))


function howManyTimes() {}



// Iteration #8: Bonus
const matrix = [
[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],
[49, 49, 99, 40, 17, 81, 18, 57, 60, 87, 17, 40, 98, 43, 69, 48, 4, 56, 62, 0],
[81, 49, 31, 73, 55, 79, 14, 29, 93, 71, 40, 67, 53, 88, 30, 3, 49, 13, 36, 65],
[52, 70, 95, 23, 4, 60, 11, 42, 69, 24, 68, 56, 1, 32, 56, 71, 37, 2, 36, 91],
[22, 31, 16, 71, 51, 67, 63, 89, 41, 92, 36, 54, 22, 40, 40, 28, 66, 33, 13, 80],
[24, 47, 32, 60, 99, 3, 45, 2, 44, 75, 33, 53, 78, 36, 84, 20, 35, 17, 12, 50],
[32, 98, 81, 28, 64, 23, 67, 10, 26, 38, 40, 67, 59, 54, 70, 66, 18, 38, 64, 70],
[67, 26, 20, 68, 2, 62, 12, 20, 95, 63, 94, 39, 63, 8, 40, 91, 66, 49, 94, 21],
[24, 55, 58, 5, 66, 73, 99, 26, 97, 17, 78, 78, 96, 83, 14, 88, 34, 89, 63, 72],
[21, 36, 23, 9, 75, 0, 76, 44, 20, 45, 35, 14, 0, 61, 33, 97, 34, 31, 33, 95],
[78, 17, 53, 28, 22, 75, 31, 67, 15, 94, 3, 80, 4, 62, 16, 14, 9, 53, 56, 92],
[16, 39, 5, 42, 96, 35, 31, 47, 55, 58, 88, 24, 0, 17, 54, 24, 36, 29, 85, 57],
[86, 56, 0, 48, 35, 71, 89, 7, 5, 44, 44, 37, 44, 60, 21, 58, 51, 54, 17, 58],
[19, 80, 81, 68, 5, 94, 47, 69, 28, 73, 92, 13, 86, 52, 17, 77, 4, 89, 55, 40],
[4, 52, 8, 83, 97, 35, 99, 16, 7, 97, 57, 32, 16, 26, 26, 79, 33, 27, 98, 66],
[88, 36, 68, 87, 57, 62, 20, 72, 3, 46, 33, 67, 46, 55, 12, 32, 63, 93, 53, 69],
[4, 42, 16, 73, 38, 25, 39, 11, 24, 94, 72, 18, 8, 46, 29, 32, 40, 62, 76, 36],
[20, 69, 36, 41, 72, 30, 23, 88, 34, 62, 99, 69, 82, 67, 59, 85, 74, 4, 36, 16],
[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() {}
[1, 20, 3, 4, 50],
[1, 20, 3, 4, 5],
[1, 20, 3, 4, 5],
[1, 20, 3, 4, 5],
[70, 20, 3, 4, 5]
]


//function greatestProduct(matrixInput) {

let calcHoriz = 1
let calcVerti = 1
let maxHoriz = 0
let maxVerti = 0

// Para calcular el máximo horizontal
for (let i = 0; i < matrix.length; i++) {

for (let j = matrix[i].length - 1; j >= 0; j--) {

for (let z = 0; z < 4; z++) {

if (matrix[i][j - 3] === undefined) {
} else {

calcHoriz *= matrix[i][j - z]
// console.log(calcHoriz)

}
}

if (calcHoriz > maxHoriz) {
maxHoriz = calcHoriz
calcHoriz = 1
}
calcHoriz = 1

}

}
console.log(maxHoriz)


// Para calcular el máximo vertical
for (let i = matrix.length - 1; i >= 0; i--) {

for (let j = 0; j < matrix[i].length; j++) {

for (let z = 0; z < 4; z++) {
console.log(`La z vale ${z}`)

if (matrix[i - 3][j] === undefined) {
} else {
console.log(`En esa posicion el valor es ${matrix[i - z][j]}`)
calcVerti *= matrix[i - z][j]
console.log(calcVerti)

}
}

if (calcVerti > maxVerti) {
maxVerti = calcVerti
calcVerti = 1
}
calcVerti = 1

}

}
console.log(maxVerti)







Expand Down