deep flatten array without reduce
This commit is contained in:
@ -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]
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user