2014-12-05 13 views
0

是否可以在alert-statement中寫入for-loop?javascript - 是for-loop可能的提示

更仔細看問題: 如果我想在一個alert語句中打印數組的內容。我想知道這是否可能。

數組:

myArray["a1", "a2", "a3", "a4"] 

印像,在短短一個警示語句與/以下:

Here your great content of myArray: 
a1 
a2 
a3 
a4 

我正在考慮類似的東西:

alert(" 
Here your great content of myArray:\n" + 

for (var i = 0; i < myArray.length; i++) { 
    myArray[i] + "\n"; 
} 

); 

而當然它不起作用,但我有點卡住了。希望有建設性的幫助,即使這看起來似乎是一個愚蠢的問題。

在此先感謝

+0

恕我直言,沒有你不能:) – 2014-12-05 15:18:13

+0

你可以寫像'警報( 「在這裏你myArray的偉大的內容:\ n」 + myArray.join( 「\ n」))' – 2014-12-05 15:19:25

回答

4

我想打印一個數組的內容在一個警告語句。

不需要循環。只需使用.join()創建一個由換行符(或任何您需要的字符)分隔的字符串。

alert("Here your great content of myArray:\n" + myArray.join("\n")); 

,僅供參考,在ECMAScript中6,你就可以做到這一點:

alert("Here your great content of myArray:\n" + [for (s of myArray) s + "\n"].join("")); 

這是很方便的爲更復雜的情況。

+0

古樸典雅! – rfornal 2014-12-05 15:21:58

+0

是的,很酷 - 比我的回答更好! – 2014-12-05 15:22:35

+0

謝謝!有用:) – user2835294 2014-12-05 15:41:47

1

alert可以傳遞一個字符串。您還通過了for聲明。這是不正確的。爲了得到你想要的,我建議你建立一個函數來構建這個字符串,然後在alert中調用它。

事情是這樣的:

function getMessage(){ 
    var text="Here your great content of myArray:\n";  
    for (var i = 0; i < myArray.length; i++) { 
    text += myArray[i] + "\n"; 
    } 
} 

alert(getMessage()); 
0

的問題是:你能轉換一個循環的字符串?不,你不能。這是一個語法錯誤。

0

沒有,但你可以這樣做:

var text;  
for (var i = 0; i < myArray.length; i++) { 
    text += myArray[i] + "\n"; 
} 
alert("Here your great content of myArray:\n" + text); 
0

排序:

alert("Here your great content of myArray:\n" + myArray.map(function(i){ 
      return i + "\n" 
}).join('')) 
0

你不能通過for語句的警告,但你可以創建數組數據的字符串,並將它傳遞給警告如下:

array = ['some', 'text', 'to', 'print'] 
 

 
alert("message: " + array.map(function(s){return s;}))

加盟是好的,但對於字典對象,你不能用它

array = [{text:'some'}, {text:'text'}, {text:'to'}, {text:'print'}] 
 

 
alert("message: " + array.map(function(s){return s['text'];}))

希望它有助於

0

顯而易見的答案是使用。加入()由一月的建議,但我會假設你想要做內環路的東西來決定哪個數組元素包含例如只有當它以一個開始(在這種情況下,無論如何將是所有人,但嘿嘿)。在這種情況下,實現它的方法是將警報文本創建爲變量,然後警告變量。喜歡的東西...

myArray["a1", "b2", "b3", "a4"] 
msg = "Here is your great content of myArray:\n"; 
for (var i = 0; i < myArray.length; i++) { 
    if(myArray[i].substring(0,1) == "a") { 
     msg+=myArray[i] + "\n"; 
     } 
    } 
alert(msg); 

這將導致

Here is your great content of myArray: 
a1 
a4 
0

有你一個語法錯誤不能在端執行JavaScript的報警功能

var myArray=["a1", "a2", "a3", "a4"]; 

var alertContent= "Here your great content of myArray:\n" ; 

for(var i=0;i<myArray.length;i++){ 
    alertContent+=myArray[i]+'\n'; 
} 
alert(alertContent); 

你可以使用上面的代碼來獲取你的輸出NT