LC #2625
IntuitionApproachComplexity
Time complexity:

Space complexity:
Code
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->

# Approach
<!-- Describe your approach to solving the problem. -->

# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->

- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->

# Code
```typescript []
type MultiDimensionalArray = (number | MultiDimensionalArray)[];

var flat = function (arr:  MultiDimensionalArray, n: number):  MultiDimensionalArray {
const result: MultiDimensionalArray = [];
  for (let i = 0; i < arr.length; i++) {
    if (Array.isArray(arr[i]) && n > 0) {
      result.push(...flat(arr[i] as MultiDimensionalArray, n-1));
    } else {
      result.push(arr[i]);
    }
  }
  return result;
};
```
```javascript []
/**
 * @param {Array} arr
 * @param {number} depth
 * @return {Array}
 */

var flat = function (arr, n) {
  //return arr.flat(n);
  var result = [];
  for (var i = 0; i < arr.length; i++) {
    Array.isArray(arr[i]) && n > 0
        ? result.push.apply(result, flat(arr[i], n - 1)) : result.push(arr[i]);
    }
    return result;
};
```
['TypeScript', 'JavaScript']