Nivel 8.6 del libro de ejercicios JavaScript

Задание 1

Dado un párrafo con texto y un botón. Al hacer clic en el botón, colorea cada carácter de un color aleatorio de modo que los caracteres adyacentes tengan colores diferentes.

Задание 2

Dado un párrafo con palabras y un input. Se introduce una palabra en el input. Al hacer clic en un botón, busque esta palabra en el párrafo y coloreela de color rojo.

Задание 3

Dado un menú con enlaces. Coloree de rojo el enlace cuya dirección coincida con la URL de la barra de direcciones del navegador.

Задание 4

Muestra en pantalla la siguiente pirámide:

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

Dada una lista de eventos para ciertas fechas, almacenada en la siguiente estructura:

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'
  },
]

Escriba un código que transforme la estructura de datos en esta:

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