根据卡片值增加/减少Javascript计数并返回准确计数

时间:2017-06-14 16:47:42

标签: 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 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');

现在我尝试过使用返回计数; return ++ count;并返回--count;这些都给了我不同的价值。我想我可能不会在底部引用cc的值甚至根据正确的值来获取计数,我想我可能只是为整套卡发出盲目计数。

任何帮助都非常感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

这样的事情:

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;
}

如果发送了非处理值以外的值,您还可以为结尾添加“默认值”,但在这种情况下,您所做的只是count = count,这是不必要的。祝你好运!

答案 1 :(得分:0)

了解如何使用switchcase

https://www.w3schools.com/js/js_switch.asp

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

相关问题