Poziom 9.10 zestawu zadań JavaScript

Задание 1

Dana jest tabela. Użytkownik klika po kolei na dwie komórki, zaznaczając je. Spraw, aby czerwonym kolorem zaznaczyły się wszystkie komórki, położone po kolei pomiędzy tymi, na które kliknął użytkownik.

Задание 2

Napisz kod, który określi maksymalny poziom zagnieżdżenia tablicy wielowymiarowej.

Задание 3

Dana jest lista jakichś danych za określone daty, przechowywana w następującej strukturze:

javascriptlet data = [
  {
    year:  2019,
    month: 11,
    day: 20,
    data: ['tablica z danymi']
  },
  {
    year:  2019,
    month: 11,
    day: 21,
    data: ['tablica z danymi']
  },
  {
    year:  2019,
    month: 12,
    day: 25,
    data: ['tablica z danymi']
  },
  {
    year:  2019,
    month: 12,
    day: 26,
    data: ['tablica z danymi']
  },
  {
    year:  2020,
    month: 10,
    day: 29,
    data: ['tablica z danymi']
  },
  {
    year:  2020,
    month: 10,
    day: 30,
    data: ['tablica z danymi']
  },
  {
    year:  2020,
    month: 11,
    day: 19,
    data: ['tablica z danymi']
  },
  {
    year:  2020,
    month: 11,
    day: 20,
    data: ['tablica z danymi']
  },
]

Napisz kod, który przekształci strukturę danych w strukturę postaci:

javascript{
  rok1: {
    miesiac1: {
      dzien1: [tablica danych],
      dzien2: [tablica danych],
      dzien3: [tablica danych],
    }
    miesiac2: {
      dzien1: [tablica danych],
      dzien2: [tablica danych],
      dzien3: [tablica danych],
    }
  }
  rok2: {
    miesiac1: {
      dzien1: [tablica danych],
      dzien2: [tablica danych],
      dzien3: [tablica danych],
    }
    miesiac2: {
      dzien1: [tablica danych],
      dzien2: [tablica danych],
      dzien3: [tablica danych],
    }
  }
}