Ниво 9.10 на задачата JavaScript

Задание 1

Дадена е таблица. Потребителят клика последователно на две клетки, като ги маркира. Направете така, че с червен цвят да се маркират всички клетки, разположени последователно между тези, върху които потребителят е кликнал.

Задание 2

Напишете код, който ще определи максималното ниво на влагане на многомерен масив.

Задание 3

Даден е списък с някакви данни за определени дати, съхранявани в следната структура:

javascriptlet data = [
  {
    year:  2019,
    month: 11,
    day: 20,
    data: ['масив с данни']
  },
  {
    year:  2019,
    month: 11,
    day: 21,
    data: ['масив с данни']
  },
  {
    year:  2019,
    month: 12,
    day: 25,
    data: ['масив с данни']
  },
  {
    year:  2019,
    month: 12,
    day: 26,
    data: ['масив с данни']
  },
  {
    year:  2020,
    month: 10,
    day: 29,
    data: ['масив с данни']
  },
  {
    year:  2020,
    month: 10,
    day: 30,
    data: ['масив с данни']
  },
  {
    year:  2020,
    month: 11,
    day: 19,
    data: ['масив с данни']
  },
  {
    year:  2020,
    month: 11,
    day: 20,
    data: ['масив с данни']
  },
]

Напишете код, който ще преобразува структурата от данни в структура от вида:

javascript{
  year1: {
    month1: {
      day1: [масив от данни],
      day2: [масив от данни],
      day3: [масив от данни],
    }
    month2: {
      day1: [масив от данни],
      day2: [масив от данни],
      day3: [масив от данни],
    }
  }
  year2: {
    month1: {
      day1: [масив от данни],
      day2: [масив от данни],
      day3: [масив от данни],
    }
    month2: {
      day1: [масив от данни],
      day2: [масив от данни],
      day3: [масив от данни],
    }
  }
}