well i tried a way longer path to solving it with some help but it doesn’t output the wanted result can u help me out
function checkCashRegister(price, cash, cid) {
let change = cash * 100 - price * 100;
let cidTotal = 0;
for (let elem of cid) {
cidTotal += elem[1] * 100;
}
if (change > cidTotal) {
return {status: "INSUFFICIENT_FUNDS", change: []};
} else if(change === cidTotal) {
return {status: "CLOSED", change: cid}
} else {
let result = [];
cid = cid.reverse();
let currencyUnit = {
"ONE HUNDRED": 10000,
"TWENTY": 2000,
"TEN": 1000,
"FIVE": 500,
"ONE": 100,
"QUARTER": 25,
"DIME": 10,
"NICKEL": 5,
"PENNY": 1
}
for (let elem of cid) {
let moneyHolder = [elem[0], 0];
elem[1] = elem[1] * 100;
while(change >= currencyUnit[elem[0]] && elem [1] > 0) {
change -= currencyUnit[elem[0]];
elem[1] -= currencyUnit[elem[0]];
moneyHolder[1] += currencyUnit[elem[0]]
}
if (moneyHolder[1] > 0) {
result.push(moneyHolder);
}
}
if (change > 0) {
return {status: "INSUFFICIENT_FUNDS", change: []};
}
return {status: "OPEN", change: result}
}
}
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/116.0.0.0 Safari/537.36
Challenge: JavaScript Algorithms and Data Structures Projects - Cash Register
Link to the challenge: