Flatten Array
This problem will allow us to perform a task that has practical uses in a developer's career. We'll discuss how to flatten deeply nested arrays and why a recursive solution is a good way to attack this problem.
Flatten Array
Instructions
Write a function that will take an array of deeply nested arrays and extract every item, flattening the array. It should return a new array that contains the items of each internal array, preserving order.
Input: Array
Output: Array
Examples:
flatten([ [ [ [1], 2], 3], [4], [], [[5]]]);
// -> [1, 2, 3, 4, 5]
flatten(['abc', ['def', ['ghi', ['jkl']]]]);
// -> ['abc', 'def', 'ghi', 'jkl']
Hints
- As in the last problem, we have to process every item we receive. There’s no way to get around that so the best time complexity we can hope for is
O(n)
.
Level up your interview prep. Join Educative to access 80+ hands-on prep courses.