Advertisement
Lulunga

10. Legendary Farming Associative Arrays

Jul 11th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function legendaryFarming(input) {
  2.  
  3.     let keyMaterials = { shards: { totalQuantity: 0 }, fragments: { totalQuantity: 0 }, motes: { totalQuantity: 0 } };
  4.     let junk = {};
  5.  
  6.     let splitted = input.toString().toLowerCase().split(' ');
  7.     for (let i = 0; i < splitted.length; i += 2) {
  8.         material = splitted[i + 1].trim();
  9.         quantity = Number(splitted[i].trim());
  10.  
  11.         if (material === 'shards' || material === 'fragments' || material === 'motes') {
  12.  
  13.             keyMaterials[material]["totalQuantity"] += quantity;
  14.             if (keyMaterials[material]["totalQuantity"] >= 250) {
  15.                 keyMaterials[material]["totalQuantity"] -= 250;
  16.                 if (material === 'shards') {
  17.                     console.log(`Shadowmourne obtained!`);
  18.                 } else if (material === 'fragments') {
  19.                     console.log(`Valanyr obtained!`);
  20.                 } else if (material === 'motes') {
  21.                     console.log(`Dragonwrath obtained!`);
  22.                 }
  23.                 break;
  24.             }
  25.         } else {
  26.             if (junk.hasOwnProperty(material) === false) {
  27.                 junk[material] = {
  28.                     totalQuantity: 0,
  29.                 };
  30.             }
  31.             junk[material]["totalQuantity"] += quantity;
  32.         }
  33.     }
  34.     let result = Object.entries(keyMaterials).sort((a, b) => b[1]["totalQuantity"] - a[1]["totalQuantity"] || a[0].localeCompare(b[0]));
  35.  
  36.     for (const key of result) {
  37.         console.log(`${key[0]}: ${key[1]['totalQuantity']}`);
  38.     }
  39.     let junkResult = Object.entries(junk).sort();
  40.     for (const key of junkResult) {
  41.         console.log(`${key[0]}: ${key[1]['totalQuantity']}`);
  42.     }
  43.  
  44.  
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement