It works with the first three cases just what the reason

Tell us what’s happening:

Your code so far


var count = 0;

function cc(card) {
  // Only change code below this line
  switch(card){
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    return  5 + " Bet";
    break;

    case 7:
    case 8:
    case 9:
    return 0 + " Hold";
    break;

    case 10:
    case "J":
    case "Q":
    case "K":
    case "A":
    return -5 + " Hold";
    break;

   
    
  }
  switch (card){
    case 3:
    case 7:
    case "Q":
    case 8:
    case "A":
    count =  -1 + " Hold";
    break;

  }
  
  
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/counting-cards

Did you read the instructions? The switch statement (the first one, don’t even KNOW why you have a second one) shouldn’t be returning a hard value of 5, 0 or -5, rather it should be updating the count variable. I’m not surprised it fails at the fourth test, frankly I’m surprised it passed the first three.

Use the switch statement to update the count variable BUT DON’T RETURN at that point. Then, use some if logic (I used a ternary operator) to determine if count is positive or non-positive (which would be negative or zero), and return THAT.