根据卡片组值在Javascript中增加/减少计数,并返回准确的计数

根据卡片组值在Javascript中增加/减少计数,并返回准确的计数,javascript,Javascript,我正在处理一个Freecodecamp问题,其中一个组件是获取5张卡的值,将其与您指定的值进行比较,然后根据这些卡显示当前计数 比如说, 数字为2、3、4、5和6的卡应使计数增加1。 数字为7、8和9的卡不应起任何作用。 卡片10,J,Q,K,A应该使计数减少1 所以,如果我给它5张卡的价值,它应该把它们加起来,并根据这些卡的价值向我提供计数 这是我的代码,我知道这是草率的,但试图让它更好 var count = 0; function cc(card) { // Only change

我正在处理一个Freecodecamp问题,其中一个组件是获取5张卡的值,将其与您指定的值进行比较,然后根据这些卡显示当前计数

比如说,

数字为2、3、4、5和6的卡应使计数增加1。 数字为7、8和9的卡不应起任何作用。 卡片10,J,Q,K,A应该使计数减少1

所以,如果我给它5张卡的价值,它应该把它们加起来,并根据这些卡的价值向我提供计数

这是我的代码,我知道这是草率的,但试图让它更好

var count = 0;

function cc(card) {
  // Only change code below this line
  switch (card) {
    case ("A"):
      --count; }
    switch (card) {
     case ("2"):
      ++count; }
    switch (card) {
    case ("3"):
      ++count; }
    switch (card) {
    case ("4"):
      ++count; }
    switch (card) {
    case ("5"):
      ++count; }
    switch (card) {
    case ("6"):
      ++count; }
    switch (card) {
    case ("7"):
      }
    switch (card) {
    case ("8"):
      }
    switch (card) {
    case ("9"):
      }
    switch (card) {
    case ("10"):
      --count; }
   switch (card) {
    case ("J"):
      --count; }
   switch (card) {
    case ("Q"):
      --count; }
    switch (card) {
     case ("K"):
      --count; }

return count;
  // 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');
现在我尝试使用返回计数;返回++计数;和返回计数;这些都给了我不同的价值观。我想我可能没有参考底部cc的值,甚至没有根据正确的值进行计数,我想我可能只是对整套卡进行盲计数

非常感谢您的帮助。提前感谢。

请参阅如何使用开关,案例:

使用switch case与使用if-else完全不同,我认为您正在模仿它。

类似于以下内容:

var count = 0;

function cc(card) {//or, with ES6: cc = (card) => {   (no 'function' keyword required)
switch (card) {
    case ("A")://all of these 'fall through' until they hit break...be careful with this, and comment it in your code
    case ("10"):
    case ("J"):
    case ("Q"):
    case ("K"):
        count -= 1;//or, count = count - 1
        break;//break sends you out of the switch statement
    case ("2")://same here
    case ("3"):
    case ("4"):
    case ("5"):
    case ("6"):
        count += 1;
        break;
    //no need to do anything with 7, 8, 9
}
    return count;
}
您还可以为end添加一个默认值,以防发送的值不是已处理的值,但在这种情况下,您所要做的就是count=count,这是不必要的。祝你好运