From e2dcff7897ee9f044b3c30f8c1ddf9570fa4fb86 Mon Sep 17 00:00:00 2001 From: Serhii Shimko Date: Wed, 18 Feb 2026 18:02:31 +0200 Subject: [PATCH 1/3] completed the task --- src/scripts/main.js | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index a765fdb1d..374d6225f 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,43 @@ 'use strict'; -// write code here +const li = document.querySelectorAll('li'); +const perent = document.querySelector('ul'); + +function sortList(list) { + const resultList = Array.from(list).sort((firstPerson, secondPerson) => { + const firstPersonSalary = firstPerson.dataset.salary + .slice(1) + .split(',') + .join(''); + const secondPersonSalary = secondPerson.dataset.salary + .slice(1) + .split(',') + .join(''); + + return Number(secondPersonSalary) - Number(firstPersonSalary); + }); + + for (const result of resultList) { + perent.append(result); + } + + return resultList; +} + +function getEmployees(list) { + const arraysPersons = []; + + for (const oneLi of list) { + arraysPersons.push({ + name: oneLi.innerText, + position: oneLi.dataset.position, + salary: oneLi.dataset.salary, + age: oneLi.dataset.age, + }); + } + + return arraysPersons; +} + +sortList(li); +getEmployees(li); From 3d238e3013b0109a2d98c330f800ec412380c1a0 Mon Sep 17 00:00:00 2001 From: Serhii Shimko Date: Wed, 18 Feb 2026 18:25:12 +0200 Subject: [PATCH 2/3] completed the task --- src/scripts/main.js | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 374d6225f..434f5144f 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,24 +1,17 @@ 'use strict'; const li = document.querySelectorAll('li'); -const perent = document.querySelector('ul'); function sortList(list) { const resultList = Array.from(list).sort((firstPerson, secondPerson) => { - const firstPersonSalary = firstPerson.dataset.salary - .slice(1) - .split(',') - .join(''); - const secondPersonSalary = secondPerson.dataset.salary - .slice(1) - .split(',') - .join(''); + const firstPersonSalary = parseSalary(firstPerson.dataset.salary); + const secondPersonSalary = parseSalary(secondPerson.dataset.salary); return Number(secondPersonSalary) - Number(firstPersonSalary); }); for (const result of resultList) { - perent.append(result); + list[0].parentNode.append(result); } return resultList; @@ -29,9 +22,9 @@ function getEmployees(list) { for (const oneLi of list) { arraysPersons.push({ - name: oneLi.innerText, + name: oneLi.textContent, position: oneLi.dataset.position, - salary: oneLi.dataset.salary, + salary: parseSalary(oneLi.dataset.salary), age: oneLi.dataset.age, }); } @@ -41,3 +34,7 @@ function getEmployees(list) { sortList(li); getEmployees(li); + +function parseSalary(str) { + return str.slice(1).split(',').join('.'); +} From 328046b08d5ed1313bc088b01c902ecf13b78e16 Mon Sep 17 00:00:00 2001 From: Serhii Shimko Date: Wed, 18 Feb 2026 18:47:12 +0200 Subject: [PATCH 3/3] completed the task --- src/scripts/main.js | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 434f5144f..cedc0ea94 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,17 +1,23 @@ 'use strict'; const li = document.querySelectorAll('li'); +const father = li[0].parentNode; function sortList(list) { const resultList = Array.from(list).sort((firstPerson, secondPerson) => { - const firstPersonSalary = parseSalary(firstPerson.dataset.salary); - const secondPersonSalary = parseSalary(secondPerson.dataset.salary); + const firstPersonSalary = parseSalary(firstPerson.dataset.salary, 'salary'); + const secondPersonSalary = parseSalary( + secondPerson.dataset.salary, + 'salary', + ); - return Number(secondPersonSalary) - Number(firstPersonSalary); + return secondPersonSalary - firstPersonSalary; }); for (const result of resultList) { - list[0].parentNode.append(result); + if (father) { + father.append(result); + } } return resultList; @@ -24,8 +30,8 @@ function getEmployees(list) { arraysPersons.push({ name: oneLi.textContent, position: oneLi.dataset.position, - salary: parseSalary(oneLi.dataset.salary), - age: oneLi.dataset.age, + salary: parseSalary(oneLi.dataset.salary, 'salary'), + age: parseSalary(oneLi.dataset.age, 'age'), }); } @@ -33,8 +39,14 @@ function getEmployees(list) { } sortList(li); -getEmployees(li); +getEmployees(sortList(li)); -function parseSalary(str) { - return str.slice(1).split(',').join('.'); +function parseSalary(str, what) { + if (what === 'salary') { + return Number(str.slice(1).split(',').join('.')); + } + + if (what === 'age') { + return Number(str); + } }