2012-06-11 15 views
7

コンマ区切りの値をコンマで区切りましたsplitを使用して各値を取得した後、新しい行にそれぞれの値を表示したいのですが、私は同じ行に一緒に表示されている最後の2つを除いて、新しい行にそれぞれの値を取得します。ただ、それを明確にするために:Javascript配列の各要素を新しい行に表示する方法

をvalue1

、値2

、VALUE3

、value4を、VALUE5

ここでは、私が使用している機能です。

_checkDates: function(dates) { 
     if (dates != null) 
     { 
      var zzz = dates.split(','); 
      var xxx = zzz.length; 
      console.log(xxx); 
      for (var i=0; i<=xxx; i++) 
       { 
        zzz[i] = zzz[i] + '<br />'; 
        return zzz; 
       } 
     } 
     return dates; 
    } 

これはExtJS 4で書かれていることを明確にするために、このケースでは問題は純粋なJavaScriptであり、ExtJS 4と関係がないと確信していますが、おそらく私は間違っています。

なぜそれが起こるのでしょうか、どうすれば私はその最後の要素を新しい行にもつけることができますか? forループ

おかげ

Leron

+0

r forループには等号があります。それはより少なくなるはずです。例えば。 zzzの長さが5(xxx = 5)の場合、要素0〜4、値1インデックス= 0、値2インデックス= 1、値3インデックス= 2、値4インデックス= 3、値5インデックス= 4にアクセスします。現在は0から5になっています。なぜならループは5から4に達した後に終了するからです。したがって、値を持たないzzz [5]にアクセスしようとしています。 – GreenGiant

+0

私はそれを知っていますが、 '<'と '<='でも '=='でしようとするとうまくいきませんでした。私は '
'タグが割り当てられていない理由を知りません。なぜ実際にその質問を投稿するのですか?下のStefanの答えは私の現在の問題を解決しますが、誰かが私のスクリプトの間違いがどこにあるのか、正しく動作するためにはどのように修正するのか教えてくれてありがとうと思います。 – Leron

答えて

7

ザ・疑わしいです。まず、すべてのアイテムを処理しません(@sarfrazが指摘したように、最後のアイテムは欠落しています)。 Sencondlyあなたは、forループボディに(zzz)結果を返すされていますJavscriptで

for (var i=0; i<=xxx; i++) 
{ 
    zzz[i] = zzz[i] + '<br />'; 
    return zzz; // for-loop will stop here! resulting in ["value1<br />", "Value2", etc...] 
} 

あなたが単純な配列「参加」することができます:あなたは単にあなたが使用できる文字列を交換しているので

return dates.split(',').join("<br />") 

replace方法:

return dates.replace(",", "<br />"); 
+2

'return dates.split( '、')。join("
") - 私が必要とするもの。ありがとう。 – Leron

11

私はあなたの機能ビットcleaner.sinceはすでにあなたの過ちを述べステファン変更しました。

function splitDate(dates) { 
     if (dates != null) 
     { 
      var dates = dates.split(','); 
      var xxx = dates.length; 
      console.log(xxx); 
      for (var i=0; i<xxx; i++) 
       { 
        dates[i] = dates[i];      
       } 
     } 
     console.log(dates.join('\r\n')); 
     return dates.join('\r\n');   
    } 

上記の機能は、あなたは、単一の行でそれを行うことができます。

それはあなたが方法次の新しい行に分割することができ、アレイの場合:それはだ場合

var arr = ['apple','banana','mango']; 
console.log(arr.join('\r\n')); 

は、文字列:

var str = "apple,banana,mango"; 
console.log(str.split(',').join("\r\n")); 
+0

あなたは 'console.log(arr.join( '
'));' –

関連する問題