Advertisement
vladovip

RegExp_ Race_JS FUND

Sep 4th, 2022
932
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function race ( inputArr) {
  2.  
  3.     let listOfParticipants = inputArr.shift().split(", ");
  4.     // console.log(listOfParticipants);
  5.     let commandLine = inputArr.shift();
  6.  
  7.     let resultRacers  = {};
  8.  
  9.     while ( commandLine != 'end of race') {
  10.          let currentNameRunner ="";
  11.          let eachRunnerkm  = 0;
  12.  
  13.          let patternName = /[A-Za-z]+/g
  14.          let nameCharMatchArr =  commandLine.match(patternName);
  15.          currentNameRunner = nameCharMatchArr.join('');
  16.         //  console.log(currentNameRunner);
  17.          let patternRunKm = /[\d]/g;
  18.          let kmNumsArr = commandLine.match(patternRunKm);
  19.         //   console.log(kmNumsArr);
  20.          for ( let el of kmNumsArr){
  21.             eachRunnerkm += Number(el);
  22.          }
  23.         //  console.log(eachRunnerkm )
  24.         // console.log(`${currentNameRunner} -> ${eachRunnerkm}`);
  25.          if ( listOfParticipants.includes(currentNameRunner) == true){
  26.  
  27.             if( resultRacers.hasOwnProperty(currentNameRunner) == false){
  28.                 resultRacers[currentNameRunner] = eachRunnerkm;
  29.             } else if (resultRacers.hasOwnProperty(currentNameRunner) == true) {
  30.                     resultRacers[currentNameRunner] += eachRunnerkm;
  31.             }
  32.          }
  33.  
  34.         commandLine = inputArr.shift();
  35.     }
  36.  
  37.     let sortedArrOfRunner = Object.entries(resultRacers).sort((a,b) => b[1] - a[1]).slice(0,3);
  38.     // console.log(sortedArrOfRunner);
  39.  
  40.     console.log(`1st place: ${sortedArrOfRunner[0][0]}` );
  41.     console.log(`2nd place: ${sortedArrOfRunner[1][0]}` );
  42.     console.log(`3rd place: ${sortedArrOfRunner[2][0]}` );
  43. }
  44.  
  45.  
  46. race ( ['George, Peter, Bill, Tom',
  47. 'G4e@55or%6g6!68e!!@ ',
  48. 'R1@!3a$y4456@',
  49. 'B5@i@#123ll',
  50. 'G@e54o$r6ge#',
  51. '7P%et^#e5346r',
  52. 'T$o553m&6',
  53. 'end of race']
  54. );
  55. console.log(`*******`);
  56.  
  57. race (['Ronald, Bill, Tom, Timmy, Maggie, Michonne',
  58. 'Mi*&^%$ch123o!#$%#nne787) ',
  59. '%$$B(*&&)i89ll)*&) ',
  60. 'R**(on%^&ald992) ',
  61. 'T(*^^%immy77) ',
  62. 'Ma10**$#g0g0g0i0e',
  63. 'end of race']
  64. );
  65.  
  66. // [A-Za-z]+  
  67.  
  68.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement