Ниво 8.6 на задачата JavaScript

Задание 1

Даден е параграф с текст и бутон. При кликване на бутона оцветете всеки символ в случаен цвят, така че съседните символи да са с различни цветове.

Задание 2

Даден е параграф с думи и входно поле. Във входното поле се въвежда дума. При кликване на бутона намерете тази дума в параграфа и я оцветете в червен цвят.

Задание 3

Дадено е меню с връзки. Оцветете в червен цвят онази връзка, чийто адрес съвпада с URL от адресната лента на браузъра.

Задание 4

Покажете на екрана следната пирамида:

xxxxx
xxxx
xxx
xx
x
Задание 5

Даден е списък със събития за определени дати, съхранявани в следната структура:

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

Напишете код, който ще преобразува структурата от данни в такава:

javascript{
  '2019-12-29': ['name1', 'name3', 'name5', 'name7'],
  '2019-12-30': ['name4', 'name8', 'name9'],
  '2019-12-31': ['name2', 'name6'],
}