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
AboutCommentsNotes
Solution for day 9 of #javascriptmas
by
Expand for more info
main.js
run
preview
console

//the long way
// const sumOddFibonacciNumbers=(num)=>{
// let store=[]
// let ArrayNew = Array(num).fill(1)
// ArrayNew.forEach((item,index) => {
// if (index <=1){
// store.push(index)
// }
// else if(index >= 2){
// store.push((store[index-1] + store[index-2]))
// }
// })
// return store
// .filter(item=>item<num)
// .filter(item=>(item%2)===1)
// .reduce((acc,current)=>acc+current)
// }

//refactored from above
const sumOddFibonacciNumbers=(num)=>{
let store=[]
let ArrayNew = Array(num).fill(1)
ArrayNew.forEach((item,index) => {
store.push((index<=1)
?index
:store[index-1] + store[index -2])
})
return store
.filter(item=>item<num)
.filter(item=>(item%2)===1)
.reduce((acc,current)=>acc+current)
}



/**
* 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
"result 2: "
,
1785
,
"result 1: "
,
10
,
/index.html
LIVE