Nivelul 9.10 al cărții de probleme JavaScript

Задание 1

Este dat un tabel. Utilizatorul face clic pe rând pe două celule, evidențiindu-le. Faceți astfel încât să fie evidențiate cu culoare roșie toate celulele situate în ordine între cele pe care utilizatorul a dat clic.

Задание 2

Scrieți cod care va determina nivelul maxim de imbricare al unui array multidimensional.

Задание 3

Este dată o listă de date pentru anumite date, stocată în următoarea structură:

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

Scrieți cod care va restructura datele într-o structură de forma:

javascript{
  an1: {
    luna1: {
      ziua1: [array de date],
      ziua2: [array de date],
      ziua3: [array de date],
    }
    luna2: {
      ziua1: [array de date],
      ziua2: [array de date],
      ziua3: [array de date],
    }
  }
  an2: {
    luna1: {
      ziua1: [array de date],
      ziua2: [array de date],
      ziua3: [array de date],
    }
    luna2: {
      ziua1: [array de date],
      ziua2: [array de date],
      ziua3: [array de date],
    }
  }
}