My Input:
console.log(checkCashRegister(19.5, 20, [["PENNY",0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]]));
My Output: {
status: 'CLOSED',
change: [
[ 'PENNY', 0.5 ],
[ 'NICKEL', 0 ],
[ 'DIME', 0 ],
[ 'QUARTER', 0 ],
[ 'ONE', 0 ],
[ 'FIVE', 0 ],
[ 'TEN', 0 ],
[ 'TWENTY', 0 ],
[ 'ONE HUNDRED', 0 ]
]
}
Test Error:
checkCashRegister(19.5, 20, [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]])
shold return
{status: "CLOSED", change: [["PENNY", 0.5], ["NICKEL", 0], ["DIME", 0], ["QUARTER", 0], ["ONE", 0], ["FIVE", 0], ["TEN", 0], ["TWENTY", 0], ["ONE HUNDRED", 0]]}
Describe your issue in detail here.
As you can see, my output is the same as the test error’s output yet it will not pass my code. This is the ONLY one it will not pass. Any thoughts? Please? Thank You.
**Your code so far**
function checkCashRegister(price, cash, cid) {
var changeDue = ((cash * 100) - (price * 100));
const denomArr = [1, 5, 10, 25, 100, 500, 1000, 2000, 10000];
var result = new Object();
var changeArr = [];
var holdArr = [];
var regCheck = 0;
var denomCheck = 0;
var cashDeduct = 0;
var chngDeduct = 0;
for (let x = cid.length - 1; x >= 0; x--) {
if (denomArr[x] < changeDue) {
regCheck += (cid[x][1] * 100);
}
}
if (regCheck < changeDue) {
result.status = "INSUFFICIENT_FUNDS";
result.change = [];
} else {
if (regCheck == changeDue) {
result.status = "CLOSED";
} else {
result.status = "OPEN";
}
for (let y = cid.length - 1; y >= 0; y--) {
holdArr = [];
if (cid[y][1] > 0) {
regCheck = (cid[y][1] * 100);
denomCheck = denomArr[y];
if (denomCheck < changeDue) {
if (regCheck <= changeDue) {
changeDue -= regCheck;
holdArr.push(cid[y][0]);
holdArr.push(cid[y][1]);
changeArr.push(holdArr);
} else {
cashDeduct = Math.floor(changeDue % denomCheck);
chngDeduct = changeDue - cashDeduct;
changeDue -= chngDeduct;
holdArr.push(cid[y][0]);
holdArr.push(chngDeduct / 100);
changeArr.push(holdArr);
}
}
}
}
}
result.change = changeArr;
if (result.status == "CLOSED") {
for (x = 1; x < cid.length; x++) {
holdArr = [];
holdArr.push(cid[x][0]);
holdArr.push(cid[x][1]);
changeArr.push(holdArr);
}
}
return 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/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46
Challenge: Cash Register
Link to the challenge: