Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- document.querySelector('#btnSend').addEventListener('click', onClick);
- // let input = ["PizzaHut - Peter 500, George 300, Mark 800","TheLake - Bob 1300, Joe 780, Jane 660","TheLake - Bobies 1300, Joey 780, Janenit 660"];
- function onClick() {
- function objectCreation() {
- let textInp = document.querySelector('#inputs textarea');
- let input = textInp.value;
- input = JSON.parse(input);
- let restObj = {};
- for (let el of input) {
- let cur = el.split(' - ');
- let restName = cur.shift();
- if (restObj.hasOwnProperty(restName)) {
- restObj[restName].push(cur.join(''));
- } else {
- restObj[restName] = cur;
- }
- }
- return restObj;
- }
- function calcAvgSalary() {
- let restObj = objectCreation();
- for (let arr in restObj) {
- let curArr = restObj[arr].map(el => el.split(', '));
- curArr = curArr.flat();
- let sum = curArr.reduce((acc, el) => acc + Number(el.split(' ')[1]), 0);
- let avgSal = sum / curArr.length;
- restObj[arr].push(avgSal);
- }
- // console.log(restObj);
- return restObj;
- }
- function sorting() {
- let restObj = calcAvgSalary();
- let arrOfAvg = [];
- let bestSal = undefined;
- for (let rest in restObj) {
- arrOfAvg.push([rest, restObj[rest].pop()]);
- }
- arrOfAvg.sort((a, b) => b[1] - a[1]);
- arrOfAvg = arrOfAvg[0];
- bestSal = restObj[arrOfAvg[0]];
- bestSal = bestSal.map(el => el.split(', '));
- bestSal = bestSal.flat().map(el => el.split(' '));
- bestSal.sort((a, b) => Number(b[1]) - Number(a[1]));
- bestSal = bestSal[0];
- let bestResWork = restObj[arrOfAvg[0]].join(', ');
- bestResWork = bestResWork.split(', ');
- bestResWork = bestResWork.map(el => el.split(' '));
- bestResWork.sort((a, b) => b[1] - a[1]);
- console.log(bestResWork);
- return [arrOfAvg, bestSal, bestResWork];
- }
- let name = sorting()[0][0];
- let avgSal = sorting()[0][1].toFixed(2);
- let bestSal = Number(sorting()[1][1]).toFixed(2);
- let strOfWork = '';
- let bestResWork = sorting()[2];
- // console.log(bestResWork);
- let bestRes = document.querySelector('#bestRestaurant p');
- let workers = document.querySelector('#workers p');
- bestRes.textContent = `Name: ${name} Average Salary: ${avgSal} Best Salary: ${bestSal}`;
- for (let el of bestResWork) {
- strOfWork += `Name: ${el[0]} With Salary: ${el[1]} `;
- }
- workers.textContent = strOfWork;
- let area = document.querySelector('#inputs textarea');
- area.value = '';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement