Skip to content

Commit e2b942c

Browse files
committed
Bonus ironhack-labs#4.1 almost done.
1 parent 08532ae commit e2b942c

File tree

1 file changed

+39
-7
lines changed

1 file changed

+39
-7
lines changed

src/functions-and-arrays.js

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,18 +47,25 @@ function sumNumbers(numbers) {
4747

4848
// Iteration #3.1
4949
const mixedArr = [6, 12, 'miami', 1, true, 'barca', '200', 'lisboa', 8, 10];
50-
const sanitizedArr = [];
50+
5151
function sum(mixedArr) {
52+
const sanitizedArr = [];
5253
if (mixedArr.length === 0) {
5354
return 0;
5455
}
5556
for (let i = 0; i < mixedArr.length; i++) {
56-
if (typeof mixedArr[i] === 'string') {
57-
sanitizedArr.push(mixedArr[i].length);
58-
} else if (typeof mixedArr[i] === 'boolean') {
59-
sanitizedArr.push(+mixedArr[i]);
60-
} else if (typeof mixedArr[i] === 'number') {
61-
sanitizedArr.push(mixedArr[i]);
57+
switch (typeof mixedArr[i]) {
58+
case 'string':
59+
sanitizedArr.push(mixedArr[i].length);
60+
break;
61+
case 'boolean':
62+
sanitizedArr.push(+mixedArr[i]);
63+
break;
64+
case 'number':
65+
sanitizedArr.push(mixedArr[i]);
66+
break;
67+
default:
68+
return 'Data type not supported';
6269
}
6370
}
6471
return sumNumbers(sanitizedArr);
@@ -96,6 +103,31 @@ function averageWordLength(wordsArr) {
96103
return averageNumbers(wordsArrLength);
97104
}
98105

106+
//Bonus #4.1
107+
//const mixedArr = [6, 12, 'miami', 1, true, 'barca', '200', 'lisboa', 8, 10];
108+
function avg(mixedArr) {
109+
const numberArr = [];
110+
if (mixedArr.length === 0) {
111+
return null;
112+
}
113+
for (let i = 0; i < mixedArr.length; i++) {
114+
switch (typeof mixedArr[i]) {
115+
case 'string':
116+
numberArr.push(mixedArr[i].length);
117+
break;
118+
case 'boolean':
119+
numberArr.push(+mixedArr[i]);
120+
break;
121+
case 'number':
122+
numberArr.push(mixedArr[i]);
123+
break;
124+
default:
125+
return 'error';
126+
}
127+
}
128+
return averageNumbers(numberArr);
129+
}
130+
99131
// Iteration #5: Unique arrays
100132
const wordsUnique = [
101133
'crab',

0 commit comments

Comments
 (0)