Skip to content

Instantly share code, notes, and snippets.

@zlatkov
Created March 11, 2021 12:30
Show Gist options
  • Save zlatkov/2a52a4a4e32196e90f29eb753e7ad6d9 to your computer and use it in GitHub Desktop.
Save zlatkov/2a52a4a4e32196e90f29eb753e7ad6d9 to your computer and use it in GitHub Desktop.
function makeFibonacciSequenceIterator(endIndex = Infinity) {
let currentIndex = 0;
let previousNumber = 0;
let currentNumber = 1;
return {
next: () => {
if (currentIndex >= endIndex) {
return { value: currentNumber, done: true };
}
let result = { value: currentNumber, done: false };
let nextNumber = currentNumber + previousNumber;
previousNumber = currentNumber;
currentNumber = nextNumber;
currentIndex++;
return result;
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment