Ошибка Timeout Error

При запуске данного кода возникает ошибка Timeout Errorю В чем проблема кода?

var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;

for (var i = fibonacciNumbers.length; i < fibonacciNumbers.length + numbersQuantity; i++) {
  fibonacciNumbers[i] = i;
}

console.log(fibonacciNumbers);

Ответы (1 шт):

Автор решения: Igor

Вы в цикле увеличиваете длину массива, которую используете в условии остановки цикла.

var fibonacciNumbers = [1, 1];
var numbersQuantity = 7;

var startingLength = fibonacciNumbers.length;
for (var i = fibonacciNumbers.length; i < startingLength + numbersQuantity; i++) {
   fibonacciNumbers[i] = fibonacciNumbers[i - 2] + fibonacciNumbers[i - 1]; 
}

console.log(fibonacciNumbers);

→ Ссылка