Niveau 9.10 du cahier d'exercices JavaScript

Задание 1

Un tableau est donné. L'utilisateur clique tour à tour sur deux cellules, en les sélectionnant. Faites en sorte que toutes les cellules situées dans l'ordre entre celles sur lesquelles l'utilisateur a cliqué soient mises en évidence en rouge.

Задание 2

Écrivez un code qui déterminera le niveau d'imbrication maximal d'un tableau multidimensionnel.

Задание 3

Une liste de données pour certaines dates est donnée, stockée dans la structure suivante :

javascriptlet data = [
  {
    year:  2019,
    month: 11,
    day: 20,
    data: ['tableau de données']
  },
  {
    year:  2019,
    month: 11,
    day: 21,
    data: ['tableau de données']
  },
  {
    year:  2019,
    month: 12,
    day: 25,
    data: ['tableau de données']
  },
  {
    year:  2019,
    month: 12,
    day: 26,
    data: ['tableau de données']
  },
  {
    year:  2020,
    month: 10,
    day: 29,
    data: ['tableau de données']
  },
  {
    year:  2020,
    month: 10,
    day: 30,
    data: ['tableau de données']
  },
  {
    year:  2020,
    month: 11,
    day: 19,
    data: ['tableau de données']
  },
  {
    year:  2020,
    month: 11,
    day: 20,
    data: ['tableau de données']
  },
]

Écrivez un code qui transformera la structure des données en une structure de la forme :

javascript{
  année1: {
    mois1: {
      jour1: [tableau de données],
      jour2: [tableau de données],
      jour3: [tableau de données],
    }
    mois2: {
      jour1: [tableau de données],
      jour2: [tableau de données],
      jour3: [tableau de données],
    }
  }
  année2: {
    mois1: {
      jour1: [tableau de données],
      jour2: [tableau de données],
      jour3: [tableau de données],
    }
    mois2: {
      jour1: [tableau de données],
      jour2: [tableau de données],
      jour3: [tableau de données],
    }
  }
}