Files
30-seconds-of-code/snippets/deepFlatten.md
Angelos Chalaris 611729214a Snippet format update
To match the starter (for the migration)
2019-08-13 10:29:12 +03:00

18 lines
433 B
Markdown

---
title: deepFlatten
tags: array,recursion,intermediate
---
Deep flattens an array.
Use recursion.
Use `Array.prototype.concat()` with an empty array (`[]`) and the spread operator (`...`) to flatten an array.
Recursively flatten each element that is an array.
```js
const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)));
```
```js
deepFlatten([1, [2], [[3], 4], 5]); // [1,2,3,4,5]
```