Nível 8.6 do caderno de exercícios JavaScript

Задание 1

Dado um parágrafo com texto e um botão. Ao clicar no botão, pinte cada caractere com uma cor aleatória de forma que caracteres adjacentes tenham cores diferentes.

Задание 2

Dado um parágrafo com palavras e um input. Uma palavra é digitada no input. Ao clicar em um botão, encontre essa palavra no parágrafo e pinte-a de vermelho.

Задание 3

Dado um menu com links. Pinte de vermelho o link cujo endereço corresponde com o URL da barra de endereços do navegador.

Задание 4

Exiba na tela a seguinte pirâmide:

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

Dada uma lista de eventos em determinadas datas, armazenada na seguinte estrutura:

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

Escreva um código que reformate a estrutura dos dados para esta:

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