Tell us what’s happening:
- The functions should work together to process a shipment and group the resulting actions.
Your code so far
function parseShipment(rawData)
{
let ans
let obj = {}
let ansArr = []
let a = Array.isArray(rawData)
console.log(a)
for(let arr of rawData)
{
ans = arr.split("|")
}
if(ans[ans.length-1].includes("-")){obj.zone = "general"}
for(let i = 0; i < ans.length; i++)
{
if(i == 0){obj.sku = ans[i]}
else if(i == 1){obj.name = ans[i]}
else if(i == 2){obj.qty = parseInt(ans[i])}
else if(i == 3){obj.expires = ans[i]}
else if(i == 4){obj.zone = ans[i]}
}
ansArr.push(obj)
return ansArr
}
function planRestock(pantry,shipment)
{
let ansArr = []
let obj = {}
for(let i = 0; i < shipment.length; i++)
{
console.log(shipment.length + " length of shipment")
//->Sus for step 7
obj.item = shipment
//<-
//console.log(shipment[i].qty)
if(pantry.sku == shipment.sku){obj.type = "restock"}
if(shipment[i].qty <= 0){obj.type = "discard"}
if(pantry.length == 0){obj.type = "donate"}
ansArr.push(obj)
}
return ansArr
}
function groupByZone(actions)
{
/*[{ type: "restock", item: { sku: "A1", zone: "fridge" } },
{ type: "restock", item: { sku: "B1", zone: "pantry" } },
];*/
let ans = {}
for(let zone in actions)
{
if(actions[zone]["item"].zone == "fridge")
{
ans.fridge = [actions[zone]]
}
else if(actions[zone]["item"].zone == "pantry")
{
ans.pantry = [actions[zone]]
}
}
return ans
}
function clonePantry(pantry)
{
const arr = [].concat(pantry)
for(let stuff of pantry)
{
arr.push(stuff)
//arr.push()
}
return JSON.parse(JSON.stringify(arr))
}
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:151.0) Gecko/20100101 Firefox/151.0
Challenge Information:
Build a Smart Pantry Restocker - Build a Smart Pantry Restocker