Tell us what’s happening:
I’m stuck for a week. I was able to pass the challenges except for the third one and I don’t know why? Could anyone please help me and point me in the right direction?
Your code so far
function checkCashRegister(price, cash, cid) {
var denom = [['PENNY', 0.01], ['NICKEL', 0.05], ['DIME', 0.1], ['QUARTER', 0.25], ['ONE', 1], ['FIVE', 5], ['TEN', 10], ['TWENTY', 20], ['ONE HUNDRED', 100]];
var output = {"status": '', "change": []};
var change = cash - price;
// Here is your change, ma'am.
//Value of Cash-in-drawer
var cidTotal = cid.reduce( function (acc, curr) {
return acc + curr[1];
}, 0);
cidTotal = Math.round(cidTotal * 100) / 100;
//results
if(cidTotal < change) {
output.status += 'INSUFFICIENT_FUNDS';
return output;
}
if(cidTotal === change) {
output.status += 'CLOSED';
output.change = cid;
return output;
}
//breakup of change
var changeArr = [];
for (var i = cid.length - 1; i > 0; i--) {
var value = 0;
while(change >= denom[i][1] && value < cid[i][1]) {
change -= denom[i][1];
value += denom[i][1];
change = Math.round(change * 100)/100;
}
if(value > 0){
changeArr.push([denom[i][0], value]);
}
value = 0;
}
if(change > 0){
output.status += 'INSUFFICIENT_FUNDS';
return output;
}
output.status += 'OPEN';
output.change = changeArr;
return output;
}
checkCashRegister(3.26, 100, [["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 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
.
Link to the challenge: