@@ -33,10 +33,10 @@ function findLongestWord(words) {
33
33
34
34
// Iteration #3: Calculate the sum
35
35
const numbers = [ 6 , 12 , 1 , 18 , 13 , 16 , 2 , 1 , 8 , 10 ] ;
36
- function sumNumbers ( numbers ) {
37
- let sumNumbers = 0 ;
36
+ function sumNumbers ( numbers ) {
37
+ let sumNumbers = 0 ;
38
38
for ( let i = 0 ; i < numbers . length ; i ++ ) {
39
- sumNumbers += numbers [ i ] ;
39
+ sumNumbers += numbers [ i ] ;
40
40
}
41
41
return sumNumbers ;
42
42
}
@@ -45,8 +45,29 @@ function sumNumbers(numbers) {
45
45
46
46
47
47
// Iteration #3.1 Bonus:
48
-
49
- function sum ( ) { }
48
+ const mixedArr = [ 6 , 12 , 'miami' , 1 , true , 'barca' , '200' , 'lisboa' , 8 , 10 ] ;
49
+ //const mixedArr = [6, 12, 'miami', 1, 'barca', '200', 'lisboa', 8, [], {}];
50
+ function sum ( mixedArr ) {
51
+ let sumNumbers = 0 ;
52
+ for ( let i = 0 ; i < mixedArr . length ; i ++ ) {
53
+ let mixedEl = typeof mixedArr [ i ] ;
54
+ if ( mixedEl === "number" ) {
55
+ sumNumbers += mixedArr [ i ] ;
56
+ } else if ( mixedEl === "string" ) {
57
+ sumNumbers += mixedArr [ i ] . length ;
58
+ } else if ( mixedEl === "boolean" ) {
59
+ if ( ( mixedArr [ i ] ) === false ) { // false is counted as 0
60
+ sumNumbers += 0 ;
61
+ } else { // true is counted as 1
62
+ sumNumbers += 1 ;
63
+ }
64
+ } else if ( ( ( mixedEl ) === "object" ) || ( ( mixedEl ) === "array" ) ) {
65
+ return "Unsupported data type sir or ma'am" ;
66
+ }
67
+ }
68
+ return sumNumbers ;
69
+ }
70
+ //console.log(sum(mixedArr)); // 57 yuju!
50
71
51
72
52
73
0 commit comments