Tell us what’s happening:
I’m having issues with my loop. I’ve tried with both a while and a for, but both loop through once, and then quit. I’ve tried counting up, and counting down, and I’ve tried in different editors.
Any ideas?
Thanks!
Your code so far
function checkCashRegister(price, cash, cid) {
var change;
// Here is your change, ma'am.
var currency = {
PENNY: 0.01,
NICKEL: 0.05,
DIME: 0.1,
QUARTER: 0.25,
ONE: 1,
FIVE: 5,
TEN: 10,
TWENTY: 20,
"ONE HUNDRED": 100
};
function getChange(amount, cid) {
var oldCid = Object.assign({}, cid);
var out = [];
for (var i = 0; i < cid.length; i++) {
cid[i][1] /= currency[cid[i][0]];
cid[i][1] = Math.round(cid[i][1]);
}
//alert(cid)
for (var j = 0; j < cid.length; j++) {
alert(j)
//i = (cid.length-1)-j
//alert("i is " + i)
/*if (
Math.floor(amount / currency[cid[i][0]]) > 0 &&
Math.floor(amount / currency[cid[i][0]]) < oldCid[i][1]
) {
amount -= Math.floor(amount / currency[cid[i][0]]);
out.push([cid[i][0], Math.floor(amount / currency[cid[i][0]])]);
}*/
}
if (amount <= 0) {
//alert(out);
return out;
}
return false;
}
var total = 0;
for (var i = 0; i < cid.length; i++) {
total += cid[i][1];
}
if (cash - price > total) {
return { status: "INSUFFICIENT_FUNDS", change: [] };
}
if (cash - price === total) {
return { status: "CLOSED", change: cid };
} else {
var money = getChange(cash-price, cid);
alert(money);
if (money) {
return { status: "OPEN", change: money };
}
return { status: "INSUFFICIENT_FUNDS", change: [] };
}
return change;
}
// Example cash-in-drawer array:
// [["PENNY", 1.01],
// ["NICKEL", 2.05],
// ["DIME", 3.1],
// ["QUARTER", 4.25],
// ["ONE", 90],
// ["FIVE", 55],
// ["TEN", 20],
// ["TWENTY", 60],
// ["ONE HUNDRED", 100]]
//alert(2.05/0.05)
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/67.0.3396.99 Safari/537.36
.
Link to the challenge: