From d9c9ef50fea5ffb5197de9d2c46c9b6206bdbb57 Mon Sep 17 00:00:00 2001 From: lubov Date: Wed, 9 Sep 2026 09:02:01 +0200 Subject: [PATCH 1/2] add solution --- src/index.html | 5 ++++- src/scripts/main.js | 25 ++++++++++++++++++++++++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/index.html b/src/index.html index f0f81a237..34db4a256 100644 --- a/src/index.html +++ b/src/index.html @@ -93,6 +93,9 @@

List of employees

Colleen Hurst - + diff --git a/src/scripts/main.js b/src/scripts/main.js index a765fdb1d..70d3e7c6d 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,26 @@ 'use strict'; -// write code here +function sortEmployeesBySalary() { + const list = document.querySelector('ul'); + const items = [...list.querySelectorAll('li')]; + const getSalary = (item) => + Number(item.dataset.salary.replace('$', '').replaceAll(',', '')); + + items.sort((a, b) => getSalary(b) - getSalary(a)); + items.forEach((item) => list.appendChild(item)); +} + +function getEmployees() { + const items = [...document.querySelectorAll('li')]; + + return items.map((item) => ({ + name: item.textContent.trim(), + position: item.dataset.position, + salary: Number(item.dataset.salary.replace('$', '').replaceAll(',', '')), + age: Number(item.dataset.age), + })); +} +sortEmployeesBySalary(); +getEmployees(); + +export { sortEmployeesBySalary, getEmployees }; From 9c7178a9200c0eb723b9fb5388c21ae597d14ef1 Mon Sep 17 00:00:00 2001 From: lubov Date: Wed, 9 Sep 2026 09:49:56 +0200 Subject: [PATCH 2/2] add solution --- src/scripts/main.js | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/scripts/main.js b/src/scripts/main.js index 70d3e7c6d..17e49d680 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,26 +1,32 @@ 'use strict'; -function sortEmployeesBySalary() { - const list = document.querySelector('ul'); +function parseSalary(salaryStr) { + return Number(salaryStr.replace('$', '').replaceAll(',', '')); +} + +function sortList(list) { const items = [...list.querySelectorAll('li')]; - const getSalary = (item) => - Number(item.dataset.salary.replace('$', '').replaceAll(',', '')); - items.sort((a, b) => getSalary(b) - getSalary(a)); + items.sort( + (a, b) => parseSalary(b.dataset.salary) - parseSalary(a.dataset.salary), + ); items.forEach((item) => list.appendChild(item)); } -function getEmployees() { - const items = [...document.querySelectorAll('li')]; +function getEmployees(list) { + const items = [...list.querySelectorAll('li')]; return items.map((item) => ({ name: item.textContent.trim(), position: item.dataset.position, - salary: Number(item.dataset.salary.replace('$', '').replaceAll(',', '')), + salary: parseSalary(item.dataset.salary), age: Number(item.dataset.age), })); } -sortEmployeesBySalary(); -getEmployees(); -export { sortEmployeesBySalary, getEmployees }; +const employeeList = document.querySelector('ul'); + +sortList(employeeList); +getEmployees(employeeList); + +export { parseSalary, sortList, getEmployees };