Counting Cards Return Value Doubt

Hey, guys!
It took me some time to understand this question but I was able to finally solve it with some help. I have a doubt though: I called the function 5 times with the values 2, 5, 7, ‘K’ and ‘A.’ Shouldn’t the output also be displayed 5 times, like so:

1 Bet
2 Bet
2 Bet
1 Bet
0 Hold

Why does the last return value alone get outputted?


var count = 0;

function cc(card) {
// Only change code below this line

switch(card) {
case 2:
case 3:
case 4:
case 5:
case 6:
case 10:
case ‘J’:
case ‘Q’:
case ‘K’:
case ‘A’:
if (count > 0){
return count + " Bet";
}else {
return count + " Hold";

// Only change code above this line

// Add/remove calls to test your function.
// Note: Only the last will display
cc(2); cc(5); cc(7); cc(‘K’); cc(‘A’);

Although you are calling the function 5 times and each time you are returning a value, you are not console.logging (printing) the value to be able to see it.

If you’re using the Chrome console, it will return for you a single result of the last thing you’ve typed. If you want to visually see each step, you need to console.log each call, like: console.log(cc(2)); and so on.

If you’re using node, then you have to explicitly use console.log and your function call each time to see the results.

1 Like

Oh, thanks a lot for clearing my doubt!
Also, Merry Christmas!