scrimba
Solution for day 9 of #javascriptmas
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Solution for day 9 of #javascriptmas
by Nic
AboutCommentsNotes
Solution for day 9 of #javascriptmas
by Nic
Expand for more info
main.js
run
preview
console
function sumOddFibonacciNumbers(num) {
// write code here.
let fib = [1, 1];
let fibOdd = [1, 1];
let currentNum = 1;
let count = 2;
while(currentNum < num) {
let fibNum = fib[count - 2] + fib[count - 1];
if(fibNum > num) {
break;
}
fib.push(fibNum);
if(fibNum %2 !== 0) {
fibOdd.push(fibNum);
}
currentNum = fibNum;
count++;
}
return fibOdd.reduce((curr, acc) => curr + acc);
}



/**
* Test Suite
*/
describe('sumOddFibonacciNumbers()', () => {
it('returns sum of all odd Fibonnci numbers', () => {
// arrange
const num = 10;

// act
const result = sumOddFibonacciNumbers(num);

// log
console.log("result 1: ", result);

// assert
expect(result).toBe(10);
});

it('returns sum of all odd Fibonnci numbers 2nd example', () => {
// arrange
const num = 1000;

// act
const result = sumOddFibonacciNumbers(num);

// log
console.log("result 2: ", result);

// assert
expect(result).toBe(1785);
});
});
Console
[
1
,
1
,
2
,
3
,
5
,
8
]
,
"result 1: "
,
10
,
[
1
,
1
,
2
,
3
,
5
,
8
,
13
,
21
,
34
,
55
,
89
,
144
,
233
,
377
,
610
,
987
]
,
"result 2: "
,
1785
,
/index.html
LIVE