Tell us what’s happening:
Describe your issue in detail here.
I don’t know what is exatly the problem
const currencyUnit ={
"PENNY":1,
"NICKEL":5,
"DIME" :10,
"QUARTER":25,
"ONE" : 100,
"FIVE" :500,
"TEN" :1000,
"TWENTY" :2000,
"ONE HUNDERED" :10000
}
function checkCashRegister(price, cash, cid) {
let changeSum = cash*100-price*100;
let changeSumCheck=changeSum;
let change=[];
let status= '';
let cidSum = 0;
let filteredCid =cid.filter(elem=> elem[1] !==0).reverse();
filteredCid.forEach(elem => {
let curr = elem[0];
let currSum =elem[1] *100;
cidSum += currSum;
let amount =0;
while (changeSum >= currencyUnit[curr]&& currSum >0) {
amount += currencyUnit[curr];
changeSum -= currencyUnit[curr];
}
if(amount !== 0) {
change.push([curr,amount/100]);
}
});
if (changeSum > 0) {
status = 'INSUFFICIENT_FUNDS';
change= [];
} else if ( changeSum ==0 && changeSumCheck == cidSum) {
status='CLOSED';
change =cid;
} else {
status = 'OPEN';
}
return { 'status':status,'change':change};
}
checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]);
Your code so far
const currencyUnit ={
"PENNY":1,
"NICKEL":5,
"DIME" :10,
"QUARTER":25,
"ONE" : 100,
"FIVE" :500,
"TEN" :1000,
"TWENTY" :2000,
"ONE HUNDERED" :10000
}
function checkCashRegister(price, cash, cid) {
let changeSum = cash*100-price*100;
let changeSumCheck=changeSum;
let change=[];
let status= '';
let cidSum = 0;
let filteredCid =cid.filter(elem=> elem[1] !==0).reverse();
filteredCid.forEach(elem => {
let curr = elem[0];
let currSum =elem[1] *100;
cidSum += currSum;
let amount =0;
while (changeSum >= currencyUnit[curr]&& currSum >0) {
amount += currencyUnit[curr];
changeSum -= currencyUnit[curr];
}
if(amount !== 0) {
change.push([curr,amount/100]);
}
});
if (changeSum > 0) {
status = 'INSUFFICIENT_FUNDS';
change= [];
} else if ( changeSum ==0 && changeSumCheck == cidSum) {
status='CLOSED';
change =cid;
} else {
status = 'OPEN';
}
return { 'status':status,'change':change};
}
checkCashRegister(19.5, 20, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]);
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36
Challenge: JavaScript Algorithms and Data Structures Projects - Cash Register
Link to the challenge: