Counting Cards is bad

Counting Cards is bad
0.0 0

#1

Tell us what’s happening:
Hello there, I have tried to solve this problem many times in different ways. Switch and If/else. Doesn’t seem to work either way. Tried going off what others have done, doesn’t work either.
Some guidance would work.

Your code so far

var count = 0;

function cc(card) {
  // Only change code below this line
  if (card == 2 || card == 3 || card == 4 || card == 5 || card == 6){
    return count += 1;
  }  if (card == 7 || card == 8 || card == 9){
    return count += 0;
  }else if ( card == 10 || card == 'J' || card == 'Q' || card == 'K' || card == 'A'){
    count -= 1;
  }else if (count <= 0){
    return String(count) + 'Hold';
  }else {
    return String(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:

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

Link to the challenge:


#2

The problem with your code is that when you use the return statement, it will return what you specify and then the function is exited without any other code being executed.

Let’s take a look at what happens when we just run your code with the following:

cc(2);

It should return “1 Bet”, but instead it just returns 1. It does this because in your first if statement (shown below), if the card is a 1,2,3,4,5, or 6, you return count+=1. Since count starts at 0, you are returning 1, but you are missing the " Bet" part which should be after the 1.

  if (card == 2 || card == 3 || card == 4 || card == 5 || card == 6){
    return count += 1;
  }

You are very close to the actual solution to this problem. You only need 1 (2 at most) return statements, but they should be near the end after the logic around calculating the correct count. Also, because it is not going to help you any, you should get rid of the following original line of code:

  return "Change Me";