Card count - code passes but doesn't seem to work in all cases

Other forum threads on the card counting challenge were really helpful, I feel like I got to a good understanding of how to arrive at my solution, but it doesn’t seem to give the correct outputs for all the examples given.

Here is my solution:

let 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;
}

if (count > 0) {
  return count + " Bet";
}
  return count + " Hold";
  // Only change code above this line
}

console.log(cc(10, 'J', 'Q', 'K', 'A'));
cc(2); cc(3); cc(7); cc('K'); cc('A');

This solution is currently passing the lesson. However…

In the example I’ve tried to log, the lesson says “Cards Sequence 10, J, Q, K, A should return the string -5 Hold”, but my log displays “-1 Hold” instead. In fact, none of the negative count values (10, J, Q, K, A) submitted seem to be returning values below -1, which makes me think something is either wrong with the way I’m testing it in the console or with the function count -= 1?

The calls to the function only take one argument at a time

1 Like

got it, I thought it might be something like that! So is there a way to test a sequence like in the example given?

hold on, I think I figured it out?

console.log(cc(10));
console.log(cc('J'));
console.log(cc('Q'));
console.log(cc('K'));
console.log(cc('A'));

this does arrive at -5 Hold. Not as straightforward as I imagined, but I guess it works!

1 Like

ooh thank you for the idea! I think that was where I was initially coming from, which made my first attempts at coding the solution a mess. It makes sense there are other ways to write the function that are a bit more advanced - I’ll put a bookmark in this challenge then.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.