// 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);
});
});