1
1
// Iteration #1: Find the maximum
2
2
function maxOfTwoNumbers ( number1 , number2 ) {
3
+
3
4
if ( number1 > number2 ) {
4
5
return number1 ;
5
6
}
@@ -10,29 +11,30 @@ function maxOfTwoNumbers(number1, number2) {
10
11
return number1 || number2 ;
11
12
}
12
13
}
13
-
14
+ maxOfTwoNumbers ( 1 , 2 ) ;
14
15
15
16
// Iteration #2: Find longest word
16
17
const words = [ 'mystery' , 'brother' , 'aviator' , 'crocodile' , 'pearl' , 'orchard' , 'crackpot' ] ;
17
18
18
19
function findLongestWord ( arr ) {
20
+
19
21
let longest = arr [ 0 ] ;
20
22
for ( let i = 0 ; i < arr . length ; i ++ ) {
21
23
if ( arr [ i ] . length > longest . length ) return longest = arr [ i ] ;
22
24
return ;
23
25
}
24
-
25
- findLongestWord ( words ) ;
26
+ }
27
+ findLongestWord ( words ) ;
26
28
27
29
28
30
// Iteration #3: Calculate the sum
29
31
const numbers = [ 6 , 12 , 1 , 18 , 13 , 16 , 2 , 1 , 8 , 10 ] ;
30
32
31
33
function sumNumbers ( arr ) {
32
- if ( ! arr ) return 0 ;
33
- let sum = 0 ;
34
+
35
+ let sum = 0 ;
34
36
for ( let i = 0 ; i < arr . length ; i ++ ) {
35
- sum = sum + arr [ i ] ;
37
+ sum = sum + arr [ i ] ;
36
38
}
37
39
return sum ;
38
40
}
@@ -43,15 +45,28 @@ sumNumbers(numbers);
43
45
const mixedArr = [ 6 , 12 , 'miami' , 1 , true , 'barca' , '200' , 'lisboa' , 8 , 10 ] ;
44
46
45
47
// should return: 57
46
- function sum ( str ) {
47
-
48
-
49
- let sumOfAString = 0 ;
50
- let addAString = str . split ( ' ' ) ;
51
- for ( let i = 0 ; i < str . length ; i ++ ) {
52
- sumOfAString = sumOfAString + str [ i ] ;
48
+ function sum ( arr ) {
49
+
50
+ let sum = 0 ;
51
+ for ( let i = 0 ; i < arr . length ; i ++ )
52
+ {
53
+ if ( typeof arr [ i ] === "number" )
54
+ {
55
+ sum = sum + arr [ i ] ;
56
+ }
57
+ else if ( typeof arr [ i ] === "string" )
58
+ {
59
+ sum = sum + arr [ i ] . length ;
60
+ }
61
+ else if ( typeof arr [ i ] === "boolean" )
62
+ {
63
+ sum = sum + arr [ i ] ;
64
+ }
65
+ else {
66
+ throw new Error ( "Unsupported data type" ) ;
67
+ }
53
68
}
54
- return sumOfAString ;
69
+ return sum ;
55
70
}
56
71
sum ( mixedArr ) ;
57
72
0 commit comments