Manipulación de elementos en JavaScript

Hagamos algo con los elementos del array que estamos iterando, por ejemplo, escribamos al final el signo '!'. En este caso, tendremos que usar un bucle for normal, y no for-of, así:

javascriptfunction func(arr) {
  for (let i = 0; i < arr.length; i++) {
    if (typeof arr[i] == 'object') {
      arr[i] = func(arr[i]);
    } else {
      arr[i] = arr[i] + '!';
    }
  }
  
  return arr;
}

console.log(func([1, [2, 7, 8], [3, 4, [5, 6]]]));
Задание 1

Dado un array multidimensional de nivel arbitrario de anidamiento, por ejemplo, como este:

javascript[1, [2, 7, 8], [3, 4], [5, [6, 7]]]

Eleve al cuadrado todos los elementos numéricos de este array.