From a03a114a633b28197a3c95d6130bdf1a5ce3a9ba Mon Sep 17 00:00:00 2001 From: Ivan Date: Mon, 6 Apr 2026 13:21:38 +0300 Subject: [PATCH 1/3] add task solution --- README.md | 6 +++--- src/scripts/main.js | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a4241d05f..6cd9c19cb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ 1. Replace `` with your Github username in the link - - [DEMO LINK](https://.github.io/js_task_generate_table_DOM/) + - [DEMO LINK](https://JordanKoby.github.io/js_task_generate_table_DOM/) 2. Follow [this instructions](https://mate-academy.github.io/layout_task-guideline/) - Run `npm run test` command to test your code; - Run `npm run test:only -- -n` to run fast test ignoring linter; @@ -14,12 +14,12 @@ Okay, now we know what is a table, and can do some magic. In `main.js`, you already have imported file `people.json`. Variable `people` contains an array of people, you can check it by using `console.log`. Your task today is to convert this array to table rows. -Your layout for start: +Your layout for start: ![Preview](./src/images/preview.png) From the preview, you can see that table has 6 headers, but our data does not contain age and century. Yes, you need to calculate them by yourself. - + ##### Steps to do this challenge: 1) For each person from `people` array create table row with 6 table cells (name, gender, born, died, age, century) 2) Find a table with class `dashboard` in the document. diff --git a/src/scripts/main.js b/src/scripts/main.js index 7d4a5db04..611e549ec 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -357,4 +357,40 @@ const people = [ // eslint-disable-next-line no-console console.log(people); // you can remove it -// write your code here +const table = document.querySelector('.dashboard'); + +people.forEach((person) => { + const row = document.createElement('tr'); + + const nameCell = document.createElement('td'); + + nameCell.textContent = person.name; + row.appendChild(nameCell); + + const sexCell = document.createElement('td'); + + sexCell.textContent = person.sex === 'm' ? 'Male' : 'Female'; + row.appendChild(sexCell); + + const bornCell = document.createElement('td'); + + bornCell.textContent = person.born; + row.appendChild(bornCell); + + const diedCell = document.createElement('td'); + + diedCell.textContent = person.died; + row.appendChild(diedCell); + + const ageCell = document.createElement('td'); + + ageCell.textContent = person.died - person.born; + row.appendChild(ageCell); + + const centuryCell = document.createElement('td'); + + centuryCell.textContent = Math.ceil(person.died / 100); + row.appendChild(centuryCell); + + table.appendChild(row); +}); From 31e88242dc4b4a8f9f284427164581888efaa2da Mon Sep 17 00:00:00 2001 From: Ivan Date: Mon, 6 Apr 2026 13:32:50 +0300 Subject: [PATCH 2/3] made the recommended changes --- src/scripts/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 611e549ec..b1c0461ea 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -369,7 +369,7 @@ people.forEach((person) => { const sexCell = document.createElement('td'); - sexCell.textContent = person.sex === 'm' ? 'Male' : 'Female'; + sexCell.textContent = person.sex; row.appendChild(sexCell); const bornCell = document.createElement('td'); From 8a8e3c1afebe361dfb3c5e33e61cc8ad50fe473a Mon Sep 17 00:00:00 2001 From: Ivan Date: Sat, 11 Apr 2026 15:02:15 +0300 Subject: [PATCH 3/3] add task solution --- src/scripts/main.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index b1c0461ea..89516532a 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -354,9 +354,6 @@ const people = [ }, ]; -// eslint-disable-next-line no-console -console.log(people); // you can remove it - const table = document.querySelector('.dashboard'); people.forEach((person) => { @@ -369,7 +366,7 @@ people.forEach((person) => { const sexCell = document.createElement('td'); - sexCell.textContent = person.sex; + sexCell.textContent = person.sex === 'm' ? 'Male' : 'Female'; row.appendChild(sexCell); const bornCell = document.createElement('td');