如何在javascript中使用join(在内置方法中)?

时间:2012-09-03 22:13:54

标签: javascript html

在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" />

在第二次迭代中,它显示如下:

<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..

我尝试用评论部分写的联接来做,但不适合我。我做错了什么?

1 个答案:

答案 0 :(得分: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(''));

您会很高兴看到我在我的示例中尝试遵循您的变量命名约定(即无意义的字符)。