Creazione di una tabella HTML da un array di oggetti

Supponiamo di avere un certo array di oggetti, ad esempio, questo array con utenti:

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

Creiamo da questo array una tabella HTML, in ogni riga della quale scriveremo i dati di un singolo utente.

Con questa struttura di archiviazione dei dati di solito si avvia un ciclo sull'array e si crea ogni cella della tabella manualmente, in questo modo:

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);
}

Questo approccio offre una grande flessibilità - possiamo regolare manualmente l'ordine di disposizione dei dati nelle celle della tabella (possiamo, ad esempio, scambiare nome e cognome).

Inoltre, se lo desideriamo, possiamo assegnare eventi a celle specifiche. Ad esempio, possiamo assegnare un'azione al click sulla cella con il cognome e così via.

Задание 1

È dato il seguente array con dipendenti:

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

Visualizza gli elementi di questo array sotto forma di tabella HTML.

Задание 2

Modifica il problema precedente in modo che cliccando su qualsiasi cella con l'età il suo contenuto aumenti di 1.

Задание 3

Modifica il problema precedente in modo che cliccando su qualsiasi cella con lo stipendio il suo contenuto aumenti di 10%.