Cash Register - anyone help me this? thanks

Tell us what’s happening:

Your code so far


var money = [
    { name: 'ONE HUNDRED', value: 100.00 },
    { name: 'TWENTY', value: 20.00 },
    { name: 'TEN', value: 10.00 },
    { name: 'FIVE', value: 5.00 },
    { name: 'ONE', value: 1.00 },
    { name: 'QUARTER', value: 0.25 },
    { name: 'DIME', value: 0.10 },
    { name: 'NICKEL', value: 0.05 },
    { name: 'PENNY', value: 0.01 }
];

function checkCashRegister(price, cash, cid) {

    // calculate how much change we owe the customer
    var change = cash - price,
        till = cid.reduce(function (a, b) {
            return a + b[1];
        }, 0.0).toFixed(2);
    if (till < change) {
        return "INSUFFICIENT_FUNDS";
    } else if (till == change) {
        return "CLOSED";
    }
    cid = cid.reverse();

    var result = money.reduce(function (acc, next, index) {
        if (change >= next.value) {
            var currentValue = 0.0;
            while (change >= next.value && cid[index][1] >= next.value) {
                currentValue += next.value;
                change -= next.value;
                change = Math.round(change * 100) / 100;
                cid[index][1] -= next.value;
            }
            acc.push([next.name], currentValue);
            return acc;
        }
        else {
            return acc;
        }
    }, []);
    return result.length > 0 && change === 0 ? result : "Insufficient Funds";
}
checkCashRegister(19.50, 20.00, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.10], ["QUARTER", 4.25], ["ONE", 90.00], ["FIVE", 55.00], ["TEN", 20.00], ["TWENTY", 60.00], ["ONE HUNDRED", 100.00]]);

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: