JavaScript タスク集 レベル9.10

Задание 1

テーブルが与えられます。ユーザーは順番に2つのセルをクリックしてハイライトします。 ユーザーがクリックしたセルの間に位置するすべてのセルが、順番に赤色でハイライトされるようにしてください。

Задание 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: [データ配列],
    }
  }
}