Given an array of indeterminate depth (dimensions), return a flattened version of the original array.

function flatten(arr) {
    
}

let arr = [1, 2, [3]]
flatten(arr)  // returns [1, 2, 3];

let arr2 = ["hello", ["this", "is", ["a", "4 dimensional", ["array"]]]];
flatten(arr2)  // returns ["hello", "this", "is", "a", "4 dimensional", "array"];

Hint

This is a perfect example of a good time to use recursion.