Манипулации с елементи в JavaScript

Нека направим нещо с обхожданите елементи на масива, например, да запишем в края знак '!'. В този случай ще трябва да използваме обикновен цикъл for, а не for-of, ето така:

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

Даден е многомерен масив с произволно ниво на вложеност, например, такъв:

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

Повдигнете всички елементи-числа от този масив на квадрат.