Tell us what’s happening:
Describe your issue in detail here.
yo I need help, where is my mistake?
Your code so far
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 answer = []
cid = cid.reverse()
let moneyUnits = {
"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 holder = [elem[0], 0]
elem[1] = elem[1]*100
while (change => moneyUnits[elem[0]] && elem[1] > 0){
change -= moneyUnits[elem[0]]
elem[1] -= moneyUnits[elem[0]]
holder[1] += moneyUnits[elem[0]]/100 }
if (holder[1]>0){
answer.push(holder)
}
} if (change > 0) {
return {status: "INSUFFICIENT_FUNDS", change:[]}
}
return {status: "OPEN", change: answer}
}
}
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/105.0.0.0 Safari/537.36 OPR/91.0.4516.95
Challenge: JavaScript Algorithms and Data Structures Projects - Cash Register
Link to the challenge: