@@ -30,20 +30,69 @@ function findLongestWord(words) {
30
30
const numbers = [ 6 , 12 , 1 , 18 , 13 , 16 , 2 , 1 , 8 , 10 ] ;
31
31
32
32
function sumNumbers ( numbers ) {
33
- let sum = 0 ;
33
+ let sumNum = 0 ;
34
+
34
35
for ( let i = 0 ; i < numbers . length ; i ++ ) {
35
-
36
+ sumNum += numbers [ i ] ;
36
37
}
38
+ return sumNum ;
37
39
}
38
40
41
+ sumNumbers ( numbers ) ;
42
+
43
+ /*
44
+ //Bonus Iteration #3.1: A generic sum() function
45
+
46
+ const mixedArr = [6, 12, 'miami', 1, true, 'barca', '200', 'lisboa', 8, 10];
47
+
48
+ function sum (mixedArray){
49
+ let mixedSum = 0;
50
+ for (let i = 0; )
51
+ }
52
+ */
39
53
// Iteration #4: Calculate the average
40
54
// Level 1: Array of numbers
41
55
const numbersAvg = [ 2 , 6 , 9 , 10 , 7 , 4 , 1 , 9 ] ;
42
56
57
+ function averageNumbers ( numbersAvg ) {
58
+ if ( numbersAvg . length ) {
59
+ let sum = 0 ;
60
+ for ( let i = 0 ; i < numbersAvg . length ; i ++ ) {
61
+ sum += numbersAvg [ i ] ;
62
+ }
63
+ let mean = sum / numbersAvg . length ;
64
+ return mean ;
65
+ } else {
66
+ return null ;
67
+ }
68
+ }
69
+
70
+ averageNumbers ( numbersAvg ) ;
71
+
72
+
73
+
43
74
// Level 2: Array of strings
44
75
const wordsArr = [ 'seat' , 'correspond' , 'linen' , 'motif' , 'hole' , 'smell' , 'smart' , 'chaos' , 'fuel' , 'palace' ] ;
45
76
46
- // Iteration #5: Unique arrays
77
+ function averageWordLength ( wordsArr ) {
78
+ if ( wordsArr . length ) {
79
+ let sum = 0 ;
80
+ for ( let i = 0 ; i < wordsArr . length ; i ++ ) {
81
+ sum += wordsArr [ i ] . length ;
82
+ }
83
+ let wordAverageLength = sum / wordsArr . length ;
84
+ return wordAverageLength ;
85
+ } else {
86
+ return null ;
87
+ }
88
+ }
89
+
90
+ averageWordLength ( wordsArr ) ;
91
+ /*
92
+ //Bonus - Iteration #4.1: A generic avg() function
93
+ */
94
+
95
+ // Iteration #5
47
96
const wordsUnique = [
48
97
'crab' ,
49
98
'poison' ,
@@ -58,9 +107,41 @@ const wordsUnique = [
58
107
'bring'
59
108
] ;
60
109
61
- // Iteration #6: Find elements
110
+ function uniquifyArray ( array ) {
111
+ let newArray = [ ] ;
112
+ if ( array . length === 0 ) {
113
+ return null ;
114
+ }
115
+ for ( var i = 0 ; i < array . length ; i ++ ) {
116
+ if ( newArray . indexOf ( array [ i ] ) === - 1 ) {
117
+ newArray . push ( array [ i ] ) ;
118
+ }
119
+ }
120
+ return newArray ;
121
+ }
122
+
123
+ let onlyWord = uniquifyArray ( wordsUnique ) ;
124
+ console . log ( onlyWord ) ;
125
+
126
+
127
+
128
+ // Iteration #6: Find elements //Not done yet, need to check
62
129
const wordsFind = [ 'machine' , 'subset' , 'trouble' , 'starting' , 'matter' , 'eating' , 'truth' , 'disobedience' ] ;
63
130
131
+ function doesWordExist ( arrayOfWords , words ) {
132
+ let wordExist = null ;
133
+ for ( let i = 0 ; i < arrayOfWords . length ; i ++ ) {
134
+ if ( arrayOfWords [ i ] === word ) {
135
+ wordExist = true ;
136
+ } else {
137
+ wordExist = false ;
138
+ }
139
+ }
140
+ return wordExist ;
141
+ }
142
+
143
+
144
+
64
145
// Iteration #7: Count repetition
65
146
const wordsCount = [
66
147
'machine' ,
@@ -76,7 +157,20 @@ const wordsCount = [
76
157
'matter'
77
158
] ;
78
159
79
- // Iteration #8: Bonus
160
+ function howManyTimes ( wordsCount , word ) {
161
+ let appears = 0 ;
162
+ if ( wordsCount . length === 0 ) {
163
+ return 0 ;
164
+ }
165
+ for ( var i = 0 ; i < wordsCount . length ; i ++ ) {
166
+ if ( wordsCount [ i ] === word ) {
167
+ appears ++ ;
168
+ }
169
+ }
170
+ return appears ;
171
+ }
172
+
173
+ // Iteration #8: Bonus To be done
80
174
81
175
const matrix = [
82
176
[ 8 , 2 , 22 , 97 , 38 , 15 , 0 , 40 , 0 , 75 , 4 , 5 , 7 , 78 , 52 , 12 , 50 , 77 , 91 , 8 ] ,
0 commit comments