Создание HTML таблицы из массива на JavaScript

Пусть у нас есть некоторая пустая таблица:

html<table id="table"></table>

Пусть у нас также дан некоторый двухмерный массив, например, такой:

javascriptlet arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];

Давайте на основе этого массива сделаем HTML таблицу, заполненную элементами данного массива. To есть у нас получится таблица с тремя рядами, в каждом из которых будет по 4 ячейки.

Решим задачу с помощью двух вложенных циклов for-of:

javascriptlet arr = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]];
let table = document.querySelector('#table');

for (let subArr of arr) {
  let tr = document.createElement('tr');
  
  for (let elem of subArr) {
    let td = document.createElement('td');
    td.textContent = elem;
    tr.appendChild(td);
  }
  
  table.appendChild(tr);
}

Как вы видите, наше решение получилось универсальным и не зависит от количества подмассивов и количества элементов в каждом подмассиве. Единственное условие - чтобы в подмассивах было одинаковое количество элементов.

Задание 1

Дан массив:

javascriptlet arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]];

Не подсматривая в теоретическую часть урока, выведите элементы приведенного массива в виде HTML таблицы table.

Задание 2

Модифицируйте предыдущую задачу так, чтобы в таблицу записывались не элементы, а квадраты этих элементов.