Advertisement
bebo231312312321

Untitled

Sep 20th, 2024
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.    document.querySelector('#btnSend').addEventListener('click', onClick);
  3.  
  4.    function onClick() {
  5.       let bestList = {}
  6.       let totalSalary = 0
  7.       let avgSalarary = 0
  8.  
  9.       let currSalary = 0
  10.       let bestWorker = ""
  11.       let input = JSON.parse(document.querySelector("#inputs textarea").value)
  12.       //  ['PizzaHut - Peter 500, George 300, Mark 800', 'TheLake - Bob 1300, Joe 780, Jane 660']
  13.       for (let line of input) {
  14.          let [restourant, workerInfo] = line.split(" - ")
  15.        
  16.          for (let worker of workerInfo.split(', ')) {
  17.             let [workerName, salaryWorker] = worker.split(' ')
  18.             salaryWorker = Number(salaryWorker)
  19.          
  20.             if (!bestList.hasOwnProperty(restourant)) {
  21.                bestList[restourant] = {}
  22.             }
  23.             if (bestList.hasOwnProperty(restourant)){
  24.                bestList[restourant][workerName] = salaryWorker
  25.             }
  26.          }
  27.       }
  28.    
  29.       let entries = Object.entries(bestList)
  30.       .map(element => {
  31.          let name = element[0]
  32.          let workersLine = Object.values(element[1])
  33.          for (let salary of workersLine) {
  34.             totalSalary += Number(salary)
  35.          }
  36.          avgSalarary = totalSalary / workersLine.length
  37.          if (avgSalarary > currSalary) {
  38.             currSalary = avgSalarary
  39.             bestWorker = name
  40.             totalSalary = 0
  41.          }
  42.  
  43.       })
  44.       let bestRestourant = Object.entries(bestList[bestWorker]).sort((a, b) => b[1] - a[1]);
  45.  
  46.     let finalResult =  bestRestourant.reduce((acc,x) => {
  47.      return acc += `Name: ${x[0]} With Salary: ${x[1]} `},"")
  48.       //`Name: ${x[0]} With Salary: ${x[1]} `,'');
  49.  
  50.       document.querySelector("#bestRestaurant p").textContent = `Name: ${bestWorker} Average Salary: ${currSalary.toFixed(2)} Best Salary: ${(bestRestourant[0][1].toFixed(2))}`
  51.      
  52.       document.querySelector('#workers p').textContent = finalResult
  53.    }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement