Уровень 8.9 задачника JavaScript

Дано меню со ссылками. Сделайте так, чтобы по клику на ссылку меню под ней выпадало подменю.

Дан абзац со словами и кнопка. По клику на кнопку покрасьте каждое слово в случайный цвет так, чтобы у соседних абзацев были разные цвета.

Дан див. У этого дива есть крестик закрытия. Сделайте так, чтобы по клику на крестик, либо на любое место страницы вне дива, этот див прятался.

Дан текстареа и ul. В текстареа вводится текст. Сделайте так, чтобы по нажатию Shift + Enter каждая строка текста добавилась в список в виде отдельного тега li.

Дан такой список дел за определенную дату:

let affairs = { '2019-12-31': ['массив дел'], '2018-11-29': ['массив дел'], '2018-11-30': ['массив дел'], '2018-12-27': ['массив дел'], '2019-12-29': ['массив дел'], '2019-12-30': ['массив дел'], '2018-12-30': ['массив дел'], '2018-12-31': ['массив дел'], }

Выведите на экран все дела за 2018 год.