Need help with the cash register challenge

Need help with the cash register challenge
0

#1

Hi!

It returns what it is expected but still not being approved by the checker… Could anybody show me where is my mistake?

function checkCashRegister(price, cash, cid) {
  var toReturn = cash - price;
  var cashArray = [0.01, 0.05, 0.1, 0.25, 1, 5, 10, 20, 100];
  var counter = 0;
  var total;
  var result = {
    status: "",
    change: [["ONE HUNDRED", 0], ["TWENTY", 0], ["TEN", 0], ["FIVE", 0], ["DOLLAR", 0], ["QUARTER", 0], ["DIME", 0], ["NICKEL", 0], ["PENNY", 0]]
  }

  total = cid.reduce(function(acc,val){
    return (acc * 100 + val[1] * 100) / 100;
  },0);

  if(total < toReturn){
    result.status = "INSUFFICIENT_FUNDS";
    result.change = [];
    return result;
  } else if(total == toReturn){
    result.status = "CLOSED";
    result.change = cid;
    return result;
  } else {
    result.status = "OPEN";
  for(var i = cid.length - 1; i >= 0; i--){
      while(cid[i][1] > 0 && toReturn - cashArray[i] >= 0){
        cid[i][1] = cid[i][1] - cashArray[i];
        result.change[counter][1] += cashArray[i];
        toReturn = toReturn - cashArray[i];
        var b = Math.round(toReturn * 100);
        toReturn = b / 100;
      }

    counter++
  }
  }

  if (toReturn != 0){
    result.status = "INSUFFICIENT_FUNDS";
    result.change = [];
    return result;
  }
  var filtered = result.change.filter(function(x){
    return x[1] > 0;
  });
  result.change = filtered;
  return result;
}


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]]);

It is failing test #3

https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register/

test #3:

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]])


Need Help with Cash Register project
#2

For the purposes of this test, “What’s a ‘DOLLAR’”?


#3

I can’t believe that mistake! I was copying the list provided and thought that “DOLLAR” was the “ONE”, I didn’t notice that it was “ONE” on the rest. Thank you!