Criação de tabela HTML a partir de um array de objetos

Suponha que tenhamos um determinado array de objetos, por exemplo, este array com usuários:

javascriptlet users = [
  {
    name: 'name1',
    surname: 'surname1',
    patronymic: 'patronymic1'
  },
  {
    name: 'name2',
    surname: 'surname2',
    patronymic: 'patronymic2'
  },
  {
    name: 'name3',
    surname: 'surname3',
    patronymic: 'patronymic3'
  },
];

Vamos criar uma tabela HTML a partir deste array, onde cada linha conterá os dados de um usuário individual.

Com essa estrutura de armazenamento de dados, geralmente executa-se um loop pelo array e cria-se cada célula da tabela manualmente, assim:

html<table id="table"></table>
javascriptlet table = document.getElementById('table');

for (let user of users) {
  let tr = document.createElement('tr');
  
  let td1 = document.createElement('td');
  td1.textContent = user.name;
  tr.appendChild(td1);
  
  let td2 = document.createElement('td');
  td2.textContent = user.surname;
  tr.appendChild(td2);
  
  let td3 = document.createElement('td');
  td3.textContent = user.patronymic;
  tr.appendChild(td3);
  
  table.appendChild(tr);
}

Essa abordagem oferece grande flexibilidade - podemos controlar a ordem dos dados nas células da tabela (podemos, por exemplo, trocar nome e sobrenome de lugar).

Além disso, se desejarmos, podemos adicionar eventos a células específicas. Por exemplo, podemos adicionar alguma ação ao clique em uma célula com o sobrenome e assim por diante.

Задание 1

Dado o seguinte array com funcionários:

javascriptlet employees = [
  {name: 'employee1', age: 30, salary: 400},
  {name: 'employee2', age: 31, salary: 500},
  {name: 'employee3', age: 32, salary: 600},
];

Exiba os elementos deste array na forma de uma tabela HTML.

Задание 2

Modifique a tarefa anterior para que, ao clicar em qualquer célula com a idade, seu conteúdo aumente em 1.

Задание 3

Modifique a tarefa anterior para que, ao clicar em qualquer célula com o salário, seu conteúdo aumente em 10%.