Advertisement
TZinovieva

Race JS Fundamentals

Mar 18th, 2023
357
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function race(arr) {
  2.     let names = arr.shift();
  3.     let end = arr.pop();
  4.     let person = {};
  5.  
  6.     let singleName = '';
  7.     let number = '';
  8.     let distance = 0;
  9.     for (let lines of arr) {
  10.         let nameRegex = /[^A-Za-z]+/g;
  11.         let lineW = lines.split(nameRegex).filter(Boolean);
  12.  
  13.         for (let i = 0; i < lineW.length; i++) {
  14.             singleName += lineW[i];
  15.         }
  16.         if (names.includes(singleName)) {
  17.             if (!person.hasOwnProperty(singleName)) {
  18.             person[singleName] = distance;
  19.             }
  20.         }
  21.         let numberRegex = /[^0-9]/g;
  22.         let lineN = lines.split(numberRegex).filter(Boolean);
  23.  
  24.         for (let i = 0; i < lineN.length; i++) {
  25.             number += Number(lineN[i]);
  26.  
  27.         }
  28.         for (let i = 0; i < number.length; i++) {
  29.             distance += Number(number[i]);
  30.         }
  31.        
  32.         if (person.hasOwnProperty(singleName)) {
  33.             person[singleName] += distance;
  34.         }
  35.         singleName = '';
  36.         number = '';
  37.         distance = 0;
  38.     }
  39.     let sorted = Object.entries(person).sort((a, b) => b[1] - a[1]);
  40.         console.log(`1st place: ${sorted[0][0]}`);
  41.         console.log(`2nd place: ${sorted[1][0]}`);
  42.         console.log(`3rd place: ${sorted[2][0]}`);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement