2017-03-09 75 views
-3

我試圖縮短代碼返回「無應答」的時候我提示一個在下面的代碼是空白:我的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

for循環可以正常工作並按預期工作。在打印或使用這些輸入變量時,您需要使用數組arr。這是因爲當你做arr[i] = "NO ANSWER";時,你實際上將數組元素設置爲「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

我試着幹運行沒有地址的代碼。以下代碼作品。 if語句需要改變

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] + ".")