This is JS code for the given challenge what is wrong in it ?
let price = 1.87;
let cid = [
['PENNY', 1.01],
['NICKEL', 2.05],
['DIME', 3.1],
['QUARTER', 4.25],
['ONE', 90],
['FIVE', 55],
['TEN', 20],
['TWENTY', 60],
['ONE HUNDRED', 100]
];
let denomination = [
[0, 0.01],
[0, 0.05],
[0, 0.1],
[0, 0.25],
[0, 1],
[0, 5],
[0, 10],
[0, 20],
[0, 100]
]
const cash = document.getElementById("cash");
const changeDue = document.getElementById("change-due");
const purchaseBtn = document.getElementById("purchase-btn");
purchaseBtn.onclick = run
function run(){
checkChange();
}
function checkChange(){
if(parseFloat(cash.value) < price){
alert("Customer does not have enough money to purchase the item");
}else if(parseFloat(cash.value) === price){
changeDue.innerHTML = "No change due - customer paid with exact cash";
}else{
calculate();
}
}
function calculate(){
let n = parseFloat(cash.value);
for(let i = 8; i>=0; i--){
if(cid[i][1]-denomination[i][0]*denomination[i][1]>0 && n-denomination[i][1]>=0){
denomination[i][0]++;
n -= denomination[i][1];
}
}
if(n === 0){
if(totalCid() === parseFloat(cash.value)){
changeDue.innerHTML = `Status: CLOSED`
}else{
changeDue.innerHTML = `Status: OPEN`
}
for(let i = 8; i>=0; i--){
cid[i][1] = cid[i][1]-denomination[i][0]*denomination[i][1];
changeDue.innerHTML += ` ${cid[i][0]}: ${denomination[i][0]*denomination[i][1]}`
denomination[i][0] = 0;
}
}else{
changeDue.innerHTML = `Status: INSUFFICIENT_BALANCE`
}
}
function totalCid(){
let sum = 0;
for(let i=0; i<9; i++){
sum = sum+cid[i][1];
}
return sum;
}