JSFiddle - React, Tailwind, and code Playground
by Marcos vini
JavaScript
// Array simulando o banco de dados
const warehouse = [
{ id: 1, item: 'A', quantity: 10 },
{ id: 2, item: 'A', quantity: 20 },
{ id: 3, item: 'B', quantity: 15 },
{ id: 4, item: 'C', quantity: 10 }
];
let request_quantity = 25;
console.log(request_quantity);
const processItems = async () => {
let remainingQuantity = request_quantity;
for (let i = 0; i < warehouse.length && remainingQuantity > 0; i++) {
const item = warehouse[i];
if (item.quantity <= remainingQuantity) {
// Remover item do array simulando o banco de dados
warehouse.splice(i, 1);
i--;
remainingQuantity -= item.quantity;
} else {
item.quantity -= remainingQuantity;
remainingQuantity = 0;
}
}
request_quantity -= remainingQuantity;
};
processItems();