mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-07-20 05:33:18 +08:00
30 lines
498 B
JavaScript
30 lines
498 B
JavaScript
/**
|
|
* Return a fibonacci sequence as an array.
|
|
*
|
|
* @param n
|
|
* @return {number[]}
|
|
*/
|
|
export default function fibonacci(n) {
|
|
const fibSequence = [1];
|
|
|
|
let currentValue = 1;
|
|
let previousValue = 0;
|
|
|
|
if (n === 1) {
|
|
return fibSequence;
|
|
}
|
|
|
|
let iterationsCounter = n - 1;
|
|
|
|
while (iterationsCounter) {
|
|
currentValue += previousValue;
|
|
previousValue = (currentValue - previousValue);
|
|
|
|
fibSequence.push(currentValue);
|
|
|
|
iterationsCounter -= 1;
|
|
}
|
|
|
|
return fibSequence;
|
|
}
|