2017-06-26 22 views
-1

switch文の外で変数contactNumberを宣言してから、switchステートメント内で変数を代入しようとしています。 「米国の場合には:それは割り当てに到達したときしかし、私はあなたがが欠落しているswitch文Switchステートメント外で宣言された変数にアクセスできない

function helplineContactMessageForCountryCode(countryCode) { 

    var contactNumber = '' 
    switch (countryCode) { 
     case 'NG': 
     contactNumber = '234-01-772-2200' 
     break 

     case 'UG': 
     contactNumber = '0800-100-330' 
     break 

     case 'US' 
     contactNumber = '1-800-232-4636' 
     break 

     case 'ZA': 
     contactNumber = '0800-012-322' 
     break 

     default: 
     //Return empty string if no country code is found 
     return '' 
    } 
    return 'You can try calling the Toll-Free HIV and AIDS Helpline and speak to a human - ' + contactNumber 
} 
+0

スイッチのうち、その 'return'を取り、' contactNumber = '' と交換してください。 break; 'あるいは、スイッチから' default'を取るこ​​とができます。そして、 '米国'の後ろに ':'がありません – Christian4423

+3

Typo? 'case 'USの後に': 'がありません。 –

答えて

0

"US" caseの後に:がありません。

function helplineContactMessageForCountryCode(countryCode) { 
 

 
    var contactNumber = '' 
 
    switch (countryCode) { 
 
    case 'NG': 
 
     contactNumber = '234-01-772-2200'; 
 
     break; 
 
    case 'UG': 
 
     contactNumber = '0800-100-330'; 
 
     break; 
 
    case 'US': 
 
     contactNumber = '1-800-232-4636'; 
 
     break; 
 
    case 'ZA': 
 
     contactNumber = '0800-012-322'; 
 
     break; 
 
    default: 
 
     contactNumber = contactNumber; 
 
     break; 
 
    } 
 
    return 'You can try calling the Toll-Free HIV and AIDS Helpline and speak to a human - ' + contactNumber 
 
}

+1

答えるのではなく、/ voteを入力して、タイポとして閉じてください。 – Bergi

+1

Omg笑私はこれに約1時間を失っているに違いない。それを指摘してくれてありがとう! – Lneuner

0

内で実行割り当てライン上のエラーSyntaxError: Unexpected identifierを取得します。あなたがそれを追加した後、それは出席して動作するはずです。

私はまた、オブジェクト・マップの代わりに、コードの短縮を作るためにあなたの正確な使用のケースのためにswitch文を使用することをお勧めし

とよりよい

function helplineContactMessageForCountryCode(countryCode) { 
    const codeMap = { 
    NG: '234-01-772-2200', 
    UG: '0800-100-330', 
    US: '1-800-232-4636', 
    ZA: '1-800-232-4636' 
    }; 

    var number = codeMap[countryCode]; 
    if (number) { 
    return 'You can try calling the Toll-Free HIV and AIDS Helpline and speak to a human - ' + number; 
    } 
    return ''; 
} 

例のcodeMapはhelplineContactMessageForCountryCodeの内側に設定されているが、理想的には、どこか別の場所で宣言されなければなりません。

+0

回答するのではなく、入力ミスとしてフラグを立ててください。 – Bergi

関連する問題