fibonacci generator

by Varun Sukheja

HTML

<script src="https://cdn.jsdelivr.net/gh/eu81273/jsfiddle-console/console.js"></script>
<h1>Problem Statement</h1>

<p>
  Write a function which returns a function that generates fibonacci numbers.
  Don't use generators.
</p>

<code>
  Example:
  let fibonacciGenerator = createFibonacciGenerator()
  console.log(fibonacciGenerator()) // should print 0
  console.log(fibonacciGenerator()) // should print 1
  console.log(fibonacciGenerator()) // should print 1
  console.log(fibonacciGenerator()) // should print 2
  console.log(fibonacciGenerator()) // should print 3
  console.log(fibonacciGenerator()) // should print 5
  console.log(fibonacciGenerator()) // should print 8
</code>

JavaScript

function createFibonacciGenerator() {
  let num1 = 0,
    num2 = 1;
  return function () {
    const result = num1;
    [num1, num2] = [num2, num1 + num2];
    return result;
  };
}

console.log('********* Code Output ***********');
let fibonacciGenerator = createFibonacciGenerator();
console.log(fibonacciGenerator()); // should print 0
console.log(fibonacciGenerator()); // should print 1
console.log(fibonacciGenerator()); // should print 1
console.log(fibonacciGenerator()); // should print 2
console.log(fibonacciGenerator()); // should print 3
console.log(fibonacciGenerator()); // should print 5
console.log(fibonacciGenerator()); // should print 8