2012-09-03 24 views
4

在JavaScript的循環我生成一個xml這樣的:如何在JavaScript中使用連接(在構建的方法中)?

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變量和所有。通過運行該代碼,我在下面的格式獲得價值:

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

我試圖聯接寫在註釋部分做了,但對我來說沒有工作。我做錯了什麼?

+0

將數組合併到一個字符串中。這不是你所追求的。使用'+'或'+ ='將東西附加到''''變量。 – zneak

+0

@zneak我是初學者的Java腳本,但我嘗試了加入,但它沒有爲我工作 –

回答

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('')); 

你會很高興看到我試圖在我的示例中遵守變量命名約定(即無意義的字符)。

相關問題