Counting Cards returning both value of current count and a string?

Counting Cards returning both value of current count and a string?
0

#1

My code is outputting the string hold or bet but not the current count value.

how do i return both the count value and string?

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 10:
    case 'J':
    case 'Q':
    case 'K':
    case 'A':
      count-=1;
      break;
  }
  if (count<=0){
        return (count, 'Hold');}
  else {
        return (count, 'Bet');}
  // 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 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36.

Link to the challenge:


#2

Instead of parenthesis, you need to use concatenation. Try to look it up online or expand the solution.

Solution

return count + ' Hold';


#3

Any idea why it was outputing the string Only, rather than the count variable, considering it was listed to return first?

I had realised the parenthesis was bad juju and later discovered the + symbol was used for multiple return values. thanks.


#4

Good question, I don’t know the reasoning behind it but I can tell you that return will always return the value of the last passed in value, so if you swapped count with the string, the count would be printed instead.


#5

See the detailed documentation on the comma operator.


#6

try to use count++, and count-- instead count +=1, and count -=1


#7

my bad the problem is in your return (count, ‘Hold’) should be | return count + ‘Hold’ ;