Tell us what’s happening:
I stuck more than one week ,the code work for just one case,any help would be much appreicated.
Your code so far
var denom=[
{name:"ONE HUNDERED",val:100.00},
{name:"TWENTY",val:20},
{name:"TEN",val:10},
{name:"FIVE",val:5},
{name:"ONE",val:1},
{name:"QUARTER",val:0.25},
{name:"DIME",val:0.1},
{name:"NICKEL",val:0.05},
{name:"PENNY",val:0.01},
];
function checkCashRegister(price, cash, cid) {
var output={status:null,change:[]};
var change=cash- price;
var register={total:0};
cid.forEach( (array)=>{
var key=array[0];
var value=array[1];
register[key]=value;
register.total+=value;
});
//change< cid
if(register.total<change){
output.status="insufficient-funds";
return output;
}
//change=cid
if(register.total===change){
output.status="closed";
output.change=cid;
return output;
}
//change >cid
//loop through the denom array
var result=[];
denom.forEach( function(subArray){
var value=0;
var currentValueInRegister=register[subArray.name];
var currencyValue=subArray.value;
while(currentValueInRegister >0 &&change>=currencyValue){
change-=currencyValue;
register[subArray.name]-=currencyValue;
value+=currencyValue;
change=Math.round(change *100)/100 ;
}
if(value >0){
result.push([subArray.name,value]);
}
return result;
});
if(result.length <1 || change > 0){
output.status="insufficient-fund";
return output;
}
output.status="open";
output.change=result;
return output;
}
// 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]]
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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
.
Link to the challenge:
https://learn.freecodecamp.org/responsive-web-design/responsive-web-design-projects/build-a-tribute-page