Files
30-seconds-of-code/snippets/deepFlatten.md
Angelos Chalaris 8a6b73bd0c Update covers
2023-02-16 22:24:28 +02:00

23 lines
539 B
Markdown

---
title: Deep flatten array
tags: array,recursion
cover: digital-nomad-4
firstSeen: 2017-12-17T17:55:51+02:00
lastUpdated: 2020-10-22T20:23:47+03:00
---
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]
```