4

javascriptループでは、次のxmlように生成しています。

for (m = 0; m < t.length; m++) {
     var arr1 = t[m].split("\t");
     s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
     alert(s);
     //s = s.join(' '); 
    }

t変数とすべてを忘れました。このコードを実行することにより、次の形式でs値を取得しています。

<row dc = "abc" al="56" msg="dkaj" />

2回目の反復では、次のように表示されます。

<row dc = "abwwc" al="56w" msg="dkajad" />

m<t.length満足するまで以下同様です。各反復でリストに参加したいもの。それらすべてに参加した後、私はこのようにする必要があります:

<row dc = "abc" al="56" msg="dkaj" /><row dc = "abwwc" al="56w" msg="dkajad" /> and so on..

コメント欄に書いてあるjoinでやってみましたが、うまくいきませんでした。私は何を間違っていますか?

4

1 に答える 1

2

最善の方法は、ループの外で文字列を定義して追加することです。

var v = '';
for (m = 0; m < t.length; m++) {
     var arr1 = t[m].split("\t");
     s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
     alert(s);
     v += s;
    }

alert(v);

join()それでも を使用したい場合はv、配列とその上に要素を作成します (文字列ではなく配列メソッドであるpush()ことに注意してください)。join()

var y = [];
for (m = 0; m < t.length; m++) {
     var arr1 = t[m].split("\t");
     s = "'<row dc= '" + arr1[0] + "' al='" + arr1[1] + "' msg='" + arr1[2] + "' />'";
     alert(s);
     y.push(s);
    }

alert(y.join(''));

私の例では、変数の命名規則 (つまり、無意味な文字) を順守しようとしていることがわかります。

于 2012-09-03T22:17:01.770 に答える