Advertisement
bebo231312312321

Untitled

Mar 17th, 2023
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function netherRealms(input) {
  2.     let object = {}
  3.     let asciSum =  /([^\d\+\-*\/\.])/g
  4.     let numSum = /([+|-]?[0-9]+[.]?[0-9]+|[+|-]?[0-9]+)/g
  5.     let multiplyPath = /([\*\/])/g
  6.  
  7.     let newArr = input.split(/[, ]+/g)
  8.     newArr.forEach((element, index) => {
  9.         let health = 0
  10.         let heroMaches = element.match(asciSum)
  11.         if (heroMaches !== null) {        
  12.             for (let i = 0; i < heroMaches.length; i++) {
  13.                 let code = heroMaches[i].charCodeAt(0)
  14.                 health += code
  15.             }
  16.             //console.log(health)
  17.         };
  18.         object[element] = {health: health,}
  19.         let damage = 0
  20.         let damageMaches = element.match(numSum)
  21.         if (damageMaches !== null) {
  22.             damageMaches.forEach((element, index) => {
  23.                 if (index < damageMaches.length) {
  24.                     damage += Number(element)
  25.                 }
  26.             })
  27.         }
  28.         let multiplySymbol = element.match(multiplyPath)
  29.         if (multiplySymbol !== null) {
  30.             multiplySymbol.forEach((element,index) => {
  31.                
  32.                 if (index < multiplySymbol.length) {
  33.                     if (element === "*") {
  34.                         damage *= 2
  35.                     } else {
  36.                         damage /= 2
  37.                     }
  38.                 }
  39.             })
  40.         }
  41.          object[element]["damage"] = damage.toFixed(2)
  42.     });
  43.  
  44.  Object.entries(object).sort((a,b)=> a[0].localeCompare(b[0])).forEach(element=>
  45.     console.log(`${element[0]} - ${element[1]["health"]} health, ${element[1]["damage"]} damage`))
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement