Tell us what’s happening:
Im not able to pass quest 10.
It says if the item doesn’t exist , action should be “donate”.
When i log it it is donate.
What am i missing?
Your code so far
const rawDat = ["A10|Tomatoes|5|2027-01-01|fridge", "A10|Tomatoes|5|2027-01-01|fridge", "A10|Tomatoes|5|2027-01-01|fridge", "B21|Bananas|10|2027-01-01"];
function parseShipment(rawData) {
let resultBefore = [];
let result = [];
for (let i = 0; i < rawData.length; i++) {
let op = rawData[i].split("|");
let [sku, name, qty, expires, zone] = op;
let obj = {
sku,
name,
qty: parseInt(qty),
expires,
zone
};
if (obj.zone === undefined) {
obj.zone = "general";
}
if (!resultBefore.includes(sku)) {
resultBefore.push(sku);
result.push(obj);
}
}
return result;
}
console.log(parseShipment(rawDat));
function planRestock(pantry, shipment) {
let result = [];
for (let j = 0; j < shipment.length; j++) {
let action = {};
for (let i = 0; i < pantry.length; i++) {
if (shipment[j]['qty'] <= 0) {
action.type = "discard";
action.item = {
sku: shipment[j].sku,
zone: shipment[j].zone
}
} else if (pantry[i].sku === shipment[j].sku) {
action.type = "restock";
action.item = {
sku: shipment[j].sku,
zone: shipment[j].zone
}
} else {
action.type = "donate";
action.item = {
sku: shipment[j].sku,
zone: shipment[j].zone
}
}
}
result.push(action);
}
return result;
}
console.log(planRestock([{ sku: "A10", name: "Pineapples", qty: 2, expires: "2027-01-01", zone: "general" }], [{ sku: "D43", name: "Pineapples", qty: 1, expires: "2027-01-01", zone: "general" }, { sku: "E54", name: "Peppers", qty: -1, expires: "2027-01-01", zone: "fridge" }, { sku: "A11", name: "Pineapples", qty: 2, expires: "2027-01-01", zone: "general" }]));
function groupByZone(actions) {
let result = {};
for (let i = 0; i < actions.length; i++) {
let zonecheck = actions[i].item.zone;
if (!result.hasOwnProperty(zonecheck)) {
result[zonecheck] = []
}
if (result.hasOwnProperty(zonecheck)) {
result[zonecheck].push(actions[i]);
}
}
return result;
}
console.log(groupByZone([ { type: 'discard', item: { sku: 'D43', zone: undefined } },
{ type: 'discard', item: { sku: 'E54', zone: 'fridge' } } ]))
function clonePantry(pantry) {
let strfy = JSON.stringify(pantry);
const copy = JSON.parse(strfy);
return copy;
}
Your browser information:
User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36
Challenge Information:
Build a Smart Pantry Restocker - Build a Smart Pantry Restocker