From 84aca42d6f69420c97951a4d42c728b37e06650d Mon Sep 17 00:00:00 2001 From: Sofiia Hryshko Date: Fri, 3 Jul 2026 18:44:55 +0300 Subject: [PATCH 1/2] add task solution --- README.md | 6 +++--- src/scripts/main.js | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 294f077fb..fc9017b43 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_parse_list_DOM/) + - [DEMO LINK](https://Sofiia912.github.io/js_task_parse_list_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; @@ -10,14 +10,14 @@ Hey there! Can you parse data from the list and sort it based on data attributes? Your task: Sort list by salary in descending order. -Get an array of employees. Write two functions: +Get an array of employees. Write two functions: - first, which sorts the list by salary from data attributes - second, which returns an array of objects, where objects are employees. The schema for the employee: ``` { - name, + name, position, salary, age diff --git a/src/scripts/main.js b/src/scripts/main.js index a765fdb1d..8310ba192 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,3 +1,34 @@ 'use strict'; -// write code here +function getSalary(item) { + return Number(item.dataset.salary.replace('$', '').replace(',', '')); +} + +function sortList(list) { + const items = [...list.children]; + + items.sort((a, b) => { + return getSalary(b) - getSalary(a); + }); + + items.forEach((item) => list.append(item)); + + return list; +} + +function getEmployees(list) { + const items = [...list.children]; + + return items.map((item) => ({ + name: item.textContent.trim(), + position: item.dataset.position, + salary: getSalary(item), + age: Number(item.dataset.age), + })); +} + +const employeesList = document.querySelector('ul'); + +sortList(employeesList); + +getEmployees(employeesList); From a9d888fba166535f5843955a32754fe48192ca3f Mon Sep 17 00:00:00 2001 From: Sofiia Hryshko Date: Fri, 3 Jul 2026 19:17:19 +0300 Subject: [PATCH 2/2] add task solution --- 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 8310ba192..660a610c3 100644 --- a/src/scripts/main.js +++ b/src/scripts/main.js @@ -1,7 +1,7 @@ 'use strict'; function getSalary(item) { - return Number(item.dataset.salary.replace('$', '').replace(',', '')); + return Number(item.dataset.salary.replace('$', '').replaceAll(',', '')); } function sortList(list) {