2016-11-03 3 views
0

から生成された文字列値を追加する方法を私が持っているforループ:Javascriptが:ループ

var data = $array[1] value is "apple" 
var data = $array[2] value is "carrot" 

は私がループ:

var allData = allData + ", " + data; 

私が欲しいなどのため

for(var data = 1; data <=10; data++){ 
    var data = $array[data]; 
    var allData = allData + ", " + data; 
}; 

var allData = apple, banana 

上記の文字列の追加:

var allData = allData + "、" + data;

は機能しません。

どうすれば修正できますか?

+0

あなたの変数を再宣言していない....あなたのforループで – epascarello

+0

は、あなたは、ループの次の反復が失敗する 'data'を、上書き/再定義しています。 – TheJim01

答えて

2

私は、これはあなたが探しているものだと思う:

var allData = $array.join(', '); 

これは、各値の間にカンマで、文字列に配列を向けるだろう。

または

これは、あなたのロジックあなたがそれをやっている現在の方法を修正することができる方法である: あなたがループ上ALLDATAのVARを宣言したい、そうでない場合は、すべての反復は、以前のものを上書きし、VARを再宣言します。次に、+ =演算子を使用して現在の値に加算することができます。また、ループ構文を少し修正しました。

var allData = ''; 
for (var i = 0; i < $array.length; i++) { 
    var data = $array[i]; 
    if(i == 0) allData += data; 
    else allData += ", " + data; 
}; 

https://jsfiddle.net/L7ch8u9b/

+0

今、私は得る:、リンゴ、バナナ。最初に "、"がある理由 – asax

+0

いくつかのロジックを追加して、最初の繰り返しをカンマに追加しないようにすることができます。あなたがロジックに従えば、すべての反復が追加されていることがわかりますが、 "+"値。それで、正面にカンマがあることは意味があります。 – Kolby

+0

単純なif文を追加して、最初の繰り返しかどうかを確認しました。それはコンマを追加しない場合です – Kolby