How to use only Switch with Counting Cards

Tell us what’s happening:

I am not exactly sure how to get this to work with just switch statements. Is it okay to mix if/else and switch?

I thought of using

switch(count) {
case (count < 1):
return count + " hold";
break;

case (count => 1):
return count + " bet";
break;

}

that did not work. Are there any recommendations? I know that this has been covered by others, but I do not want to use the if/else statement. I am glad I figured that one out on my own, but I want to do better.

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:
   (count += 1);
   
   break;

   case 7:
   case 8:
   case 9:

   (count += 0);
   break;

   case 10:
   case "J":
   case "Q":
   case "K":
   case "A":
   (count -= 1);
   break;
 } 

 if (count < 1) {
   return count + " Hold";
 } else {
   return count + " Bet";
 }
  
  return "Change Me";
  // 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');

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:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/counting-cards

You could try something like

switch(true) {
  case [2,3,4,5,6].includes(card):
      count++;
     break;
case [10,'J','Q','K','A'].includes(card):
   count--;
}

You can even replace the first case condition with typeof card === 'number' && card <7.

Thank you. I will try that shortly. I have not learned the includes bit yet. I will also look at that. How do I add the bet or hold?

would it just be
return count + “hold”;
before the break?

You would want to put the count + " Hold" or count + " Bet" after the switch statement, because what gets returned depends on the outcome of the switch statement.

1 Like