2017-06-14 8 views
0

私はFreecodecampの問題に取り組んでおり、1つのコンポーネントが5枚のカードの価値をあなたが割り当てた値と比較し、それらのカードに基づく現在のカウント。カードの値のデッキに基づいてJavascriptの増減カウントを計算し、正確な数を返す

たとえば、

数字が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の値を参照していないかもしれないと思う、私はちょうど全体のカードのための盲目の数を発行しているかもしれないと思う。

ご迷惑をおかけして申し訳ございません。前もって感謝します。

答えて

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、これは必要ではありません。がんばろう!

0

caseswitchを使用する方法を参照してください:私はあなたが模倣していると思われた場合は、他の

スイッチケースを使用して

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

は使用してはかなり異なっています。このような

関連する問題