Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function coffeeStorage() {
- let textarea=JSON.parse(document.querySelector('textarea').value.split(','));
- let [reportOutput, inspectionOutput] = document.querySelectorAll('div p');
- let brands={};
- for (const brand of textarea) {
- let [command,brandName,coffeeName,expireDate,quantity]=brand.split(', '); // ???????
- if (command==='IN') {
- if (!brands[brandName]) {
- brands[brandName]={};
- }
- if (!brands[brandName][coffeeName]) { // ????
- brands[brandName][coffeeName]={expireDate,quantity:Number(quantity)};
- }
- if (brands[brandName][coffeeName].expireDate<=expireDate) {
- brands[brandName][coffeeName]={expireDate,quantity:Number(quantity)};
- }
- }else if (command==='OUT') {
- if (brands[brandName] &&
- brands[brandName][coffeeName] &&
- brands[brandName][coffeeName].expireDate>expireDate &&
- brands[brandName][coffeeName].quantity>=Number(quantity)) {
- brands[brandName][coffeeName].quantity-=Number(quantity);
- }
- }else if (command==='REPORT') {
- Object
- .entries(brands)
- .forEach(([brandName,coffeeName])=>{
- let arr=[];
- Object
- .entries(coffeeName)
- .map(([name,information])=>{
- arr.push(`${name} - ${information.expireDate} - ${information.quantity}.`);
- });
- reportOutput.innerHTML += `${brandName}: ${arr.join(' ')}` + '<br/>';
- })
- }else if (command==='INSPECTION') {
- Object
- .entries(brands)
- .sort((a,b)=>a[0].localeCompare(b[0]))
- .forEach(([brandName,coffeeName])=>{
- let arr=[];
- Object
- .entries(coffeeName)
- .sort((a,b)=>b[1].quantity-a[1].quantity)
- .forEach(([name,information])=>{
- arr.push(`${name} - ${information.expireDate} - ${information.quantity}.`);
- });
- inspectionOutput.innerHTML += `${brandName}: ${arr.join(' ')}` + '<br/>';
- })
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement