Files
30-seconds-of-code/snippets/fibonacci.md
Isabelle Viktoria Maciohsek 27c168ce55 Bake date into snippets
2021-06-13 13:55:00 +03:00

24 lines
691 B
Markdown

---
title: fibonacci
tags: math,algorithm,intermediate
firstSeen: 2017-12-17T16:41:31+02:00
lastUpdated: 2020-12-28T13:49:24+02:00
---
Generates an array, containing the Fibonacci sequence, up until the nth term.
- Use `Array.from()` to create an empty array of the specific length, initializing the first two values (`0` and `1`).
- Use `Array.prototype.reduce()` and `Array.prototype.concat()` to add values into the array, using the sum of the last two values, except for the first two.
```js
const fibonacci = n =>
Array.from({ length: n }).reduce(
(acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i),
[]
);
```
```js
fibonacci(6); // [0, 1, 1, 2, 3, 5]
```