DEV Community

Discussion on: Solving "Sum All Odd Fibonacci Numbers" / freeCodeCamp Algorithm Challenges

Collapse
ttatsf profile image
tatsuo fukuchi • Edited on

You can do it faster to use Generator / Iterator, not Array:

const oddFibG = function*(){
  let l = 0
  let m = 1
  while(true){
    [l, m] = [m, l + m]
    if ( l % 2 === 1 ) yield l
  }
}

const sumFibs = n => {
  let sum = 0
  for ( const i of oddFibG() ) {
    if ( i > n ) return sum
    sum = sum + i
  }
}