Counting Cards Not returning the right answer

I’m trying to finish this challenge without using a switch statement.
The console.log at the end does not seem to return anything at the moment, so guessing where the code is off is beyond me…

Does anyone see what is wrong with the function so far?

Your code so far


var count = 0;

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

  else if (card == (7 || 8 || 9)) {
    count =+ 0;
     if count > 0 {
      return count + " Bet";
   } else {
     return count + " Hold";
   }

   else if (card == (10 || 'J'|| 'Q' || 'K' || 'A')) {
     count =- 1;
     if count > 0 {
      return String (count) + " Bet";
   } else {
     return String (count) + " Hold";
   }
   }
  var outPut = cc;
  console.log(outPut);
  // 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/68.0.3440.106 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/counting-cards

Few things that i noticed are, some of your if statements don’t have the condition wrapped in parentheses. Also, the assignment of var outPut is missing parentheses.

1 Like

Thank you very much for the quick replies!!

I edited out the major duplicate code, looks better now indeed.

The output is still not what it should be, is there something else I’m missing now:

var count = 0;

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

   else if (card == 10 || card == 'J'|| card == 'Q' || card == 'K' || card == 'A') {
     count = count - 1;
   }

   if count > 0 {
      return (count) + " Bet";
   } else {
     return (count) + " Hold";
   }

  var outPut = cc;
  console.log("outPut");

ohhhhhhh. forgot one more set of parentheses, around the last count > 0 bit.

Thank you so much for the help!! Appreciate it. All fixed now.