Q24 [Coding]: Write a function to recursively flatten a deeply nested array.
function flattenArray(arr) {
return arr.reduce((acc, val) =>
Array.isArray(val)
? acc.concat(flattenArray(val))
: acc.concat(val),
[]);
}
// Example: flattenArray([1, [2, [3, 4]], 5]) -> [1, 2, 3, 4, 5]
Key Takeaways
- Uses recursion and
Array.isArray()to unravel nested sub-arrays. - Native equivalent:
arr.flat(Infinity).
Knowledge Check
What built-in Array prototype method flattens nested arrays to any depth directly?