From 2829f45b1de1d0ad7dea83b09877c7a2edd3edac Mon Sep 17 00:00:00 2001 From: Svitlana Slavets Date: Sun, 28 Jun 2026 21:48:27 +0200 Subject: [PATCH 1/2] add task solution --- src/scripts/main.js | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index a765fdb1d..65603834a 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,33 @@ 'use strict'; -// write code here +const list = document.querySelector('ul'); + +function getSalary(element) { + return Number(element.dataset.salary.replace('$', '').replace(',', '')); +} + +function sortList(employeeList) { + const sortedList = [...employeeList.employees].sort((a, b) => { + return getSalary(b) - getSalary(a); + }); + + sortedList.forEach((item) => employeeList.append(item)); +} + +function getEmployees(employeeList) { + return [...employeeList.employees].map((employee) => { + return { + name: employee.textContent.trim(), + position: employee.dataset.position, + salary: getSalary(employee), + age: Number(employee.dataset.age), + }; + }); +} + +sortList(list); + +const employees = getEmployees(list); + +// eslint-disable-next-line no-console +console.log(employees); From b7f409cf95d59be6c219d3e2a9937f7b1bd4a885 Mon Sep 17 00:00:00 2001 From: Svitlana Slavets Date: Sun, 28 Jun 2026 22:40:47 +0200 Subject: [PATCH 2/2] add task solution --- src/scripts/main.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 65603834a..cfb7fe594 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -7,7 +7,9 @@ function getSalary(element) { } function sortList(employeeList) { - const sortedList = [...employeeList.employees].sort((a, b) => { + const employees = [...employeeList.children]; + + const sortedList = employees.sort((a, b) => { return getSalary(b) - getSalary(a); }); @@ -15,7 +17,7 @@ function sortList(employeeList) { } function getEmployees(employeeList) { - return [...employeeList.employees].map((employee) => { + return [...employeeList.children].map((employee) => { return { name: employee.textContent.trim(), position: employee.dataset.position, @@ -27,7 +29,7 @@ function getEmployees(employeeList) { sortList(list); -const employees = getEmployees(list); +const employeeData = getEmployees(list); // eslint-disable-next-line no-console -console.log(employees); +console.log(employeeData);