GearNeeded

Building up the Gear Needed object using the full gear list and the GearInfo objects

by WizKid81

JavaScript

var expandedGearList = [];

var fullGearList = [
{
    id: "164",
    nameKey: "Mk 12 ArmaTek Cybernetics",
    quantity: 3,
    priority: 1,
    ingredients: [{
      id: "164Prototype",
      quantity: 1
    }, {
      id: "156",
      quantity: 2
    }],
    neededFor: ["Luke", "Vader", "Han"]
  },
  
  {
    id: "170",
    nameKey: "Mk 12 ArmaTek MultiTool",
    quantity: 10,
    priority: 1,
    ingredients: [{
      id: "170Prototype",
      quantity: 3
    }, {
      id: "160",
      quantity: 1
    }],
    neededFor: ["Vader", "GAS", "Teebo"]
  },
  
  
  {
    id: "092",
    nameKey: "Mk 4 Arakyd Droid Caller",
    quantity: 4,
    priority: 2,
    ingredients: undefined,
    neededFor: ["Vader", "Leia", "Chirpa"]
  },
  
  {
    id: "007",
    nameKey: "Made Up",
    quantity: 1,
    priority: 3,
    ingredients: [],
    neededFor: ["Vader", "Leia", "Chirpa"]
  }
  ]; 

var gearInfo = [
{
    id: "001",
    nameKey: "Mk 1 BlasTech Weapon Mod",
    mark: "Mk 1",
    tier: 1,
    recipe: {
      ingredients: ["176Ingredient:1", "170Prototype:1"]
    }
  },
  {
    id: "164Prototype",
    nameKey: "Mk 12 ArmaTek Cybernetics Prototype",
    mark: "Mk 12",
    tier: 12,
    recipe: {
      ingredients: ["164Ingredient:50", "150Prototype:1"]
    }
  },
  {
    id: "170Prototype",
    nameKey: "Mk 12 ArmaTek MultiTool",
    mark: "Mk 12",
    tier: 12,
    recipe: {
      ingredients: ["170Ingredient:50", "150Prototype:1"]
    }
  },
  {
    id: "156",
    nameKey: "Made up gear 156",
    mark: "Mk 12",
    tier: 12,
  },
    {
    id: "160",
    nameKey: "Made up gear 160",
    mark: "Mk 12",
    tier: 12,
  },
  {
    id: "164Ingredient",
    nameKey: "Made up gear 164Ing",
    mark: "Mk 12",
    tier: 12,
  },
  {
    id: "150Prototype",
    nameKey: "Made up gear 150Proto",
    mark: "Mk 12",
    tier: 12,
  },
  {
    id: "170Ingredient",
    nameKey: "Made up gear 170Ing",
    mark: "Mk 12",
    tier: 12,
  }

]

var currentInventory =...