1
1
// Iteration #1: Find the maximum
2
- function maxOfTwoNumbers ( ) { }
3
-
2
+ function maxOfTwoNumbers ( NumOne , NumTwo ) {
3
+ if ( NumOne > NumTwo ) {
4
+ return NumOne ;
5
+ } else { return NumTwo ;
6
+ }
7
+ }
8
+
9
+
4
10
5
11
6
12
// Iteration #2: Find longest word
7
13
const words = [ 'mystery' , 'brother' , 'aviator' , 'crocodile' , 'pearl' , 'orchard' , 'crackpot' ] ;
8
14
9
- function findLongestWord ( ) { }
15
+ function findLongestWord ( words ) {
16
+ if ( words . length === 0 ) {
17
+ return null ;
18
+ }
19
+ let longestWord = words [ 0 ]
20
+
21
+ for ( let i = 1 ; i < words . length ; i ++ ) {
22
+ if ( words [ i ] . length > longestWord . length ) {
23
+ longestWord = words [ i ] ;
24
+ }
25
+ }
26
+ return longestWord ;
27
+ }
28
+
10
29
11
30
12
31
13
32
// Iteration #3: Calculate the sum
14
33
const numbers = [ 6 , 12 , 1 , 18 , 13 , 16 , 2 , 1 , 8 , 10 ] ;
15
34
16
- function sumNumbers ( ) { }
35
+ function sumNumbers ( numbers ) {
36
+ if ( numbers . length === 0 ) {
37
+ return 0 ;
38
+ }
39
+ let sum = 0 ;
40
+
41
+ for ( let i = 0 ; i < numbers . length ; i ++ ) {
42
+ sum += numbers [ i ] ;
43
+ }
44
+ return sum ;
45
+ }
46
+
47
+
17
48
18
49
19
50
@@ -26,13 +57,34 @@ function sum() {}
26
57
// Level 1: Array of numbers
27
58
const numbersAvg = [ 2 , 6 , 9 , 10 , 7 , 4 , 1 , 9 ] ;
28
59
29
- function averageNumbers ( ) { }
60
+ function averageNumbers ( numbers ) {
61
+ if ( numbers . length === 0 ) {
62
+ return null ;
63
+ }
64
+ const sum = numbers . reduce ( ( acc , num ) =>
65
+ acc + num , 0 ) ;
66
+ const average = sum / numbers . length ;
67
+
68
+ return average ;
69
+ }
70
+
30
71
31
72
32
73
// Level 2: Array of strings
33
74
const wordsArr = [ 'seat' , 'correspond' , 'linen' , 'motif' , 'hole' , 'smell' , 'smart' , 'chaos' , 'fuel' , 'palace' ] ;
34
75
35
- function averageWordLength ( ) { }
76
+ function averageWordLength ( words ) {
77
+ if ( words . length === 0 ) {
78
+ return null ;
79
+ }
80
+ const totalLength = words . reduce ( ( acc , word ) => acc + word . length , 0 ) ;
81
+ const averageLength = totalLength /
82
+ words . length ;
83
+
84
+ return averageLength ;
85
+ }
86
+
87
+
36
88
37
89
// Bonus - Iteration #4.1
38
90
function avg ( ) { }
@@ -52,14 +104,39 @@ const wordsUnique = [
52
104
'bring'
53
105
] ;
54
106
55
- function uniquifyArray ( ) { }
107
+ function uniquifyArray ( array ) {
108
+ if ( array . length === 0 ) {
109
+ return null ;
110
+ }
111
+ const uniqueArray = [ ] ;
112
+ array . forEach ( ( element ) => {
113
+ if ( uniqueArray . indexOf ( element ) === - 1 )
114
+ {
115
+ uniqueArray . push ( element ) ;
116
+ }
117
+ } ) ;
118
+
119
+ return uniqueArray ;
120
+ }
56
121
57
122
58
123
59
124
// Iteration #6: Find elements
60
125
const wordsFind = [ 'machine' , 'subset' , 'trouble' , 'starting' , 'matter' , 'eating' , 'truth' , 'disobedience' ] ;
61
126
62
- function doesWordExist ( ) { }
127
+ function doesWordExist ( wordArray ,
128
+ targetWord ) {
129
+ if ( wordArray . length === 0 ) {
130
+ return null ;
131
+ }
132
+ for ( let i = 0 ; i < wordArray . length ; i ++ )
133
+ {
134
+ if ( wordArray [ i ] === targetWord ) {
135
+ return true ;
136
+ }
137
+ }
138
+ return false ;
139
+ }
63
140
64
141
65
142
@@ -78,7 +155,19 @@ const wordsCount = [
78
155
'matter'
79
156
] ;
80
157
81
- function howManyTimes ( ) { }
158
+ function howManyTimes ( wordArray , targetWord ) {
159
+ if ( wordArray . length === 0 ) {
160
+ return 0 ;
161
+ }
162
+ let count = 0 ;
163
+ for ( let i = 0 ; i < wordArray . length ; i ++ )
164
+ {
165
+ if ( wordArray [ i ] === targetWord ) {
166
+ count ++ ;
167
+ }
168
+ }
169
+ return count ;
170
+ }
82
171
83
172
84
173
0 commit comments