Úroveň 8.8 úloh JavaScript

Задание 1

Dané dva selecty. V prvom selecte sú zobrazené krajiny. Urobte tak, aby v druhom selecte boli zobrazené mestá vybranej krajiny.

Задание 2

Dané input a tlačidlo. Do inputu sa zadá číslo. Kliknutím na tlačidlo skontrolujte, či je toto číslo dokonalé.

Задание 3

Daný zoznam udalostí za určité mesiace, uložený v nasledujúcej štruktúre:

javascriptlet events = [
  {
    date:  '2019-12'
    event: 'name1'
  },
  {
    date:  '2019-12'
    event: 'name2'
  },
  {
    date:  '2019-11'
    event: 'name3'
  },
  {
    date:  '2019-11'
    event: 'name4'
  },
  {
    date:  '2020-10'
    event: 'name5'
  },
  {
    date:  '2020-10'
    event: 'name6'
  },
  {
    date:  '2020-11'
    event: 'name5'
  },
  {
    date:  '2020-11'
    event: 'name6'
  },
  {
    date:  '2020-12'
    event: 'name7'
  },
  {
    date:  '2020-12'
    event: 'name8'
  },
  {
    date:  '2020-12'
    event: 'name9'
  },
]

Napíšte kód, ktorý pretvorí štruktúru údajov do takejto podoby:

javascript{
  2019: {
    11: [pole udalostí],
    12: [pole udalostí],
  }
  2020: {
    10: [pole udalostí],
    11: [pole udalostí],
    12: [pole udalostí],
  }
}