Skip to content

Commit 073c73f

Browse files
committed
ironhack-labs#6 not completly done two errors on jasmine
1 parent aa29a1f commit 073c73f

File tree

1 file changed

+99
-5
lines changed

1 file changed

+99
-5
lines changed

src/functions-and-arrays.js

Lines changed: 99 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,20 +30,69 @@ function findLongestWord(words) {
3030
const numbers = [6, 12, 1, 18, 13, 16, 2, 1, 8, 10];
3131

3232
function sumNumbers (numbers){
33-
let sum = 0;
33+
let sumNum = 0;
34+
3435
for (let i = 0; i < numbers.length; i++){
35-
36+
sumNum += numbers[i];
3637
}
38+
return sumNum;
3739
}
3840

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+
*/
3953
// Iteration #4: Calculate the average
4054
// Level 1: Array of numbers
4155
const numbersAvg = [2, 6, 9, 10, 7, 4, 1, 9];
4256

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+
4374
// Level 2: Array of strings
4475
const wordsArr = ['seat', 'correspond', 'linen', 'motif', 'hole', 'smell', 'smart', 'chaos', 'fuel', 'palace'];
4576

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
4796
const wordsUnique = [
4897
'crab',
4998
'poison',
@@ -58,9 +107,41 @@ const wordsUnique = [
58107
'bring'
59108
];
60109

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
62129
const wordsFind = ['machine', 'subset', 'trouble', 'starting', 'matter', 'eating', 'truth', 'disobedience'];
63130

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+
64145
// Iteration #7: Count repetition
65146
const wordsCount = [
66147
'machine',
@@ -76,7 +157,20 @@ const wordsCount = [
76157
'matter'
77158
];
78159

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
80174

81175
const matrix = [
82176
[8, 2, 22, 97, 38, 15, 0, 40, 0, 75, 4, 5, 7, 78, 52, 12, 50, 77, 91, 8],

0 commit comments

Comments
 (0)