Flatten a nested array
Turn a nested array into one sequence of values.
function flatten(values) { return values.flat(Infinity); }
Input & expected output
Input
[
1,
[
2,
[
3
]
],
4
]Expected output
[
1,
2,
3,
4
]The edge case
Input
[
[],
[
1,
[]
]
]Expected output
[
1
]Know the limits
- Input depth is capped at 12 and the total element count at 1,000 in this lab.
- Array holes are skipped. JSON input cannot represent holes.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Flatten an array from the original 1loc collection by Nguyen Huu Phuoc, with nico2che. Copyright (c) 2020 phuoc-ng. MIT licensed.
Curated implementation; explicit input bounds, edge cases, local fixtures and rebuilt presentation. Original MDX retained as inert source evidence.
Maintained by Oveyon. Original source commit: 14b481cf60df. This edition’s file: contents/flatten-an-array.mdx in akamind/1loc, commit 0a77f131b22d. Read the license.
Keep exploring
- Clone an array — Create a new array without copying the objects inside it.
- Remove duplicate values — Keep the first occurrence of each value, in its original order.
- Split an array into chunks — Build consecutive chunks without changing the original array.