Почему этот цикл не обновляет правильно этот array?

Я пробую делать цикл, который добавлял бы array fibSeq = [0,1] сумма двух предыдущих чисел.

А именно результат с 6 повторениями должен бы быть этим: fibSeq = [0,1,1,2,3,5,8,13]

Однако он не обновляет мой:

function fib(num){
	var fibSeq = [0,1];
	var elultimo = fibSeq.length -1
	var elanterior = elultimo - 1
	var suma = elultimo + elanterior
	
	for (var i = 0; i < num; i++){
		fibSeq.push(suma)
			}
	return fibSeq
}

fib(6)

И дай как результат fibSeq = [0,1,1,1,1,1,1]

Я попытался включать заявления внутри цикла

function fib(num){
	var fibSeq = [0,1];
	var elultimo = fibSeq.length -1
	var elanterior = elultimo - 1
	var suma = elultimo + elanterior
	
	for (var i = 0; i < num; i++){
		elultimo = fibSeq.length -1
		elanterior = elultimo - 1
		suma = elultimo + elanterior
		fibSeq.push(suma)
			}
	return fibSeq
}

fib(6)

Но тогда он дает мне редкие числа, которые я хочу (те, которых я хочу, - fibonacci): [0, 1, 1, 3, 5, 7, 9, 11]

Он был бы благодарен за объяснение porqué цикл не становится отвечающим современным требованиям вместо решения как получать числа fibonacci, так как я это делаю, чтобы изучать JS и пробую предотвращать полные решения, потому что, если не я не изучаю. Спасибо.

6
задан 22.04.2019, 13:20
0 ответов