マイ

2017-03-09 4 views
-3

私のプロンプトの1以下のコードで空白のままにされたとき、私は「NO ANSWER」を返さないために、コードを短くしようとしていた動作しないforループ:しかしマイ

var name = prompt("What is your name?"); 
var age = prompt("What is your age?"); 
var address = prompt("What is your email address?"); 
var credit = prompt("What is your credit card number?"); 
var social = prompt("What is your social security number?"); 

var arr = [name, age, address, credit, social]; 
var l = arr.length; 

for (var i = 0; i < l; i++) { 

    if (arr[i] == "") { 

    arr[i] = "NO ANSWER"; 

    } 

} 

alert("Your information is " + name + ", " + age + ", " + address + ", " + credit + ", and" + social + "."); 
alert("Now the internet has all of your information. Have a nice day >:D"); 

、コードdoesn'tを作業。誰かがなぜ私に教えてくれますか?

+7

を変更する必要がある場合は、「動かない」許容可能な問題の説明ではありません。 –

+1

それはうまくいかないという意味ですか? – user7491506

+0

それはうまくいかないという意味ですか?あなたは何を期待して何を得るのですか? –

答えて

2

ループは正常に動作し、正常に動作します。これらの入力変数を印刷または使用するときは、配列arrを使用する必要があります。 arr[i] = "NO ANSWER";を実行すると、元の変数ではなく、実際に配列要素を「無回答」に設定するからです。代わりにこれを試してみてください

var name = prompt("What is your name?"); 
 
var age = prompt("What is your age?"); 
 
var address = prompt("What is your email address?"); 
 
var credit = prompt("What is your credit card number?"); 
 
var social = prompt("What is your social security number?"); 
 

 
var arr = [name, age, address, credit, social]; 
 
var l = arr.length; 
 

 
for (var i = 0; i < l; i++) { 
 

 
    if (arr[i] == "") { 
 

 
    arr[i] = "NO ANSWER"; 
 

 
    } 
 

 
} 
 

 
alert("Your information is " + arr[0] + ", " + arr[1] + ", " + arr[2] + ", " + arr[3] + ", and" + arr[4] + "."); 
 
alert("Now the internet has all of your information. Have a nice day >:D");

+1

が同意する、これはあなたのために働くはずです... :) – user7417866

0

:以下を参照してください。 arrを更新しているようですが、arrを画面に表示していません。

var name = prompt("What is your name?"); 
var age = prompt("What is your age?"); 
var address = prompt("What is your email address?"); 
var credit = prompt("What is your credit card number?"); 
var social = prompt("What is your social security number?"); 

var arr = [name, age, address, credit, social]; 
var l = arr.length; 

for (var i = 0; i < l; i++) { 
    if (arr[i] == "") { 
    arr[i] = "NO ANSWER"; 
    } 
} 

alert("Your information is " + arr[0] + ", " + arr[1] + ", " + arr[2] + ", " + arr[3] + ", and " + arr[4] + "."); 
0

住所を指定しないでコードを実行してみました。次のコードが動作します。文が

testarr = function() { 
 
var name = 'xxx'; 
 
var age = 10; 
 
var address; 
 
var credit = 252525; 
 
var social = 564654; 
 
var arr = [name, age, address, credit, social]; 
 
var l = arr.length; 
 

 
for (var i = 0; i < l; i++) { 
 
    if (!arr[i]) { 
 
    arr[i] = "NO ANSWER"; 
 
    } 
 
} 
 

 
return arr; 
 
//alert("Your information is " + name + ", " + age + ", " + address + ", " + credit + ", and" + social + "."); 
 
//alert("Now the internet has all of your information. Have a nice day >:D"); 
 
} 
 

 
var t = new testarr(); 
 
console.log ("Your information is " + t[0] + ", " + t[1] + ", " + t[2] + ", " + t[3] + ", and" + t[4] + ".")

関連する問題