deep flatten array without reduce

This commit is contained in:
xaveyaguarez
2017-12-14 22:34:10 -08:00
parent ddbcf68456
commit 2c9486ae7f

View File

@ -1,10 +1,9 @@
### Deep flatten array ### Deep flatten array
Use recursion. Use recursion.
Use `Array.reduce()` to get all elements that are not arrays, flatten each element that is an array. Use `[].concat()` and the spread operator `...` to flatten an array, and recursively flatten each element that is an array.
```js ```js
const deepFlatten = arr => const deepFlatten = arr => [].concat(...arr.map(v => Array.isArray(v) ? deepFlatten(v) : v));
arr.reduce((a, v) => a.concat(Array.isArray(v) ? deepFlatten(v) : v), []);
// deepFlatten([1,[2],[[3],4],5]) -> [1,2,3,4,5] // deepFlatten([1,[2],[[3],4],5]) -> [1,2,3,4,5]
``` ```