Basic JavaScript: Counting Cards problem

Hello,

in the exercise Basic JavaScript: Counting Cards I have this code:

var count = 0;

function cc(card) {
  // Only change code below this line
  
  if(card === 2 || card === 3 || card === 4 || card === 5 || card === 6){
    count++;
    return count + " Bet";
  }

  else if ( card === 7 || card === 8 || card === 9){
    return  count + " Hold";
  }
  
  else if (card === 10 || card === "J" || card === "Q" || card === "K" ||card === "A" )
  {
    count--;
   return count + " Hold";

  }


  
  // Only change code above this line
}

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(3); cc(7); cc('K'); cc('A');

but I get these errors:

// running tests

Cards Sequence 2, J, 9, 2, 7 should return 1 Bet

Cards Sequence 2, 2, 10 should return 1 Bet

// tests completed

What is the problem?
Any ideas?

I think the problem is in your return statements. Whether the player bets or holds depends on the current value of the global count variable, not on the value of any one particular card. Count is updated 3-5 times in each test, and the final value of count (positive or 0/negative) should determine the message.

So for example, in this test: Cards Sequence 2, J, 9, 2, 7 should return 1 Bet your code is going to return the correct count of 1, but the message “Hold” (because if the card is 7, your code says to hold.)

Also, although it is possible to do this challenge with if statements, it is a great opportunity to make use of a switch statement to handle all the possible card values.

Hope that helps!

OK, thanks. It now works.