Skip to content

Commit f4a13cf

Browse files
author
Martin
committed
Solved lab
1 parent bbd5108 commit f4a13cf

File tree

1 file changed

+116
-23
lines changed

1 file changed

+116
-23
lines changed

src/functions-and-arrays.js

Lines changed: 116 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,92 @@
11
// Iteration #1: Find the maximum
2-
function maxOfTwoNumbers() {}
3-
4-
2+
function maxOfTwoNumbers(num1, num2) {
3+
if (num1 > num2) {
4+
return num1;
5+
} else if (num1 < num2) {
6+
return num2;
7+
} else if (num1 === num2) {
8+
return num1, num2;
9+
}
10+
}
511

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

9-
function findLongestWord() {}
10-
11-
15+
function findLongestWord(arrOfWords) {
16+
if (arrOfWords.length === 0) {
17+
return null;
18+
}
19+
20+
let wordLngth = 0;
21+
let longestWord;
22+
23+
for (let i = 0; i < arrOfWords.length; i++) {
24+
if (arrOfWords[i].length > wordLngth) {
25+
wordLngth = arrOfWords[i].length;
26+
longestWord = arrOfWords[i];
27+
}
28+
}
29+
return longestWord;
30+
}
1231

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

16-
function sumNumbers() {}
17-
35+
function sumNumbers(arrNumbers) {
36+
let sum = 0;
1837

38+
for (let i = 0; i < arrNumbers.length; i++) {
39+
sum += arrNumbers[i];
40+
}
41+
return sum;
42+
}
1943

2044
// Iteration #3.1 Bonus:
21-
function sum() {}
22-
23-
45+
function sum(arrOfNumbers) {
46+
let sum = 0;
47+
let sumOfString = '';
48+
for (let i = 0; i < arrOfNumbers.length; i++) {
49+
sum += arrOfNumbers[i];
50+
}
51+
return sum;
52+
}
2453

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

29-
function averageNumbers() {}
58+
function averageNumbers(arrNumbersAvg) {
59+
let sumAvg = 0;
60+
let average = 0;
61+
62+
if (arrNumbersAvg.length === 0) {
63+
return null;
64+
}
65+
for (let i = 0; i < arrNumbersAvg.length; i++) {
66+
sumAvg += arrNumbersAvg[i];
67+
}
68+
average = sumAvg / arrNumbersAvg.length;
3069

70+
return average;
71+
}
3172

3273
// Level 2: Array of strings
3374
const wordsArr = ['seat', 'correspond', 'linen', 'motif', 'hole', 'smell', 'smart', 'chaos', 'fuel', 'palace'];
3475

35-
function averageWordLength() { }
76+
function averageWordLength(arr) {
77+
if (arr.length === 0) {
78+
return null;
79+
}
80+
let wordLngthSum = 0;
81+
let wordLngthAvg = 0;
82+
83+
for (let i = 0; i < arr.length; i++) {
84+
wordLngthSum += arr[i].length;
85+
}
86+
wordLngthAvg = wordLngthSum / arr.length;
87+
88+
return wordLngthAvg;
89+
}
3690

3791
// Bonus - Iteration #4.1
3892
function avg() {}
@@ -52,16 +106,40 @@ const wordsUnique = [
52106
'bring'
53107
];
54108

55-
function uniquifyArray() {}
109+
function uniquifyArray(arr) {
110+
let doubles = [];
56111

112+
if (arr.length === 0) {
113+
return null;
114+
}
57115

116+
for (let i = 0; i < arr.length; i++) {
117+
if (doubles.indexOf(arr[i]) === -1) {
118+
doubles.push(arr[i]);
119+
}
120+
}
121+
return doubles;
122+
}
58123

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

62-
function doesWordExist() {}
63-
64-
127+
function doesWordExist(arrOfWords, searchWord) {
128+
let rest = [];
129+
130+
if (arrOfWords.length === 0) {
131+
return null;
132+
}
133+
for (let i = 0; i < arrOfWords.length; i++) {
134+
if (searchWord === arrOfWords[i]) {
135+
rest.push(arrOfWords[i]);
136+
return true;
137+
}
138+
}
139+
if (rest.length === 0) {
140+
return false;
141+
}
142+
}
65143

66144
// Iteration #7: Count repetition
67145
const wordsCount = [
@@ -78,9 +156,27 @@ const wordsCount = [
78156
'matter'
79157
];
80158

81-
function howManyTimes() {}
82-
83-
159+
function howManyTimes(arrOfWords, searchWord) {
160+
let rest = [];
161+
162+
if (arrOfWords.length === 0) {
163+
return 0;
164+
}
165+
166+
if (arrOfWords.length === 0) {
167+
return null;
168+
}
169+
for (let i = 0; i < arrOfWords.length; i++) {
170+
if (searchWord === arrOfWords[i]) {
171+
rest.push(arrOfWords[i]);
172+
}
173+
}
174+
return rest.length;
175+
176+
if (rest.length === 0) {
177+
return "This word doesn't exist!";
178+
}
179+
}
84180

85181
// Iteration #8: Bonus
86182
const matrix = [
@@ -108,9 +204,6 @@ const matrix = [
108204

109205
function greatestProduct() {}
110206

111-
112-
113-
114207
// The following is required to make unit tests work.
115208
/* Environment setup. Do not modify the below code. */
116209
if (typeof module !== 'undefined') {

0 commit comments

Comments
 (0)