Code
javascript
function flatten(arr, depth = Infinity) {
return arr.reduce((acc, val) =>
Array.isArray(val) && depth > 0
? acc.concat(flatten(val, depth - 1))
: acc.concat(val),
[]
);
}
// Using native flat
const flat = arr => arr.flat(Infinity);