Merge pull request #40 from elderhsouza/patch-1
minor refactor to the fibonacci array generator
This commit is contained in:
@ -1,14 +1,10 @@
|
|||||||
### Fibonacci array generator
|
### Fibonacci array generator
|
||||||
|
|
||||||
Create an empty array of the specific length, initializing the first two values (`0` and `1`).
|
Create an empty array of the specific length, initializing the first two values (`0` and `1`).
|
||||||
Use `reduce()` to add values into the array, using the sum of the last two values, except for the first two.
|
Use `Array.reduce()` to add values into the array, using the sum of the last two values, except for the first two.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const fibonacci = n =>
|
const fibonacci = n =>
|
||||||
Array.apply(null, [0,1].concat(Array(n-2))).reduce(
|
Array(n).fill(0).reduce((acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i),[]);
|
||||||
(acc, val, i) => {
|
|
||||||
acc.push( i>1 ? acc[i-1]+acc[i-2] : val);
|
|
||||||
return acc;
|
|
||||||
},[]);
|
|
||||||
// fibonacci(5) -> [0,1,1,2,3]
|
// fibonacci(5) -> [0,1,1,2,3]
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user