2012-07-12 142 views
0

當我將它寫入Google電子表格中的單元格時,從數組中刪除逗號時有點麻煩。 array.join( '');似乎沒有辦法。我將不勝感激任何幫助。另外,anchor [i] [j] .join('')返回一個錯誤。從多維數組中刪除逗號

下面是一些代碼:

anchor[i][j].join('')返回一個錯誤

anchor[i].join('')似乎並沒有產生效果。

for (var i=0; i(less than) rangeKW.length-2;i++){ 

anchor[i] = []; 

    for (var j=0; j<rangeURL.length;j++){ 

    anchor[i][j] = ahref + rangeKW[i] + ahref1 + rangeURL[j] + "</a>|";  

    }  
    }  
cell.setValue("{" + anchor);  
} 

回答

0

array.join()作品與「正常」的陣列,由正常我的意思是1維的,適用於所述陣列本身,而不是一個單一元件(誤差在[i] [j]),即旁我不真的明白你想要做什麼以及你的代碼是如何與你的問題相關的......

有關anchor[i].join('');// doesn't seem to have an effect.我不知道有多少元素在那裏以及它們是什麼樣子,但語法是正確的。如果你想使它成爲一個CSV字符串,你也可以使用toString()。

編輯:(感謝在評論中的信息。)

我認爲最簡單的方法(或者至少是最清楚的)是創建一對夫婦,你可以分別登錄新變量確切地看到會發生什麼。

例如

var anchorString = anchor[i].join(); // or toString() they both return strings from 1D arrays 
Logger.log(anchorString) 

如果各項指標主播的我必須要在同一個單元格,然後它在i循環這樣寫:

var anchorString += anchor[i].join(); 
Logger.log(anchorString) 
+0

我在電子表格範圍KW []中抓取列A中的一系列值,然後從列B rangeURL []中抓取一系列值。然後用字符串ahref,ahref1和「 |」取範圍KW [i]並將rangeURL [j]添加到rangeKW [i]的每個實例。因此,錨[i] [j] = ahref + rangeKW [i] + ahref1 + rangeURL [j] +「 |」;然後寫入一個單元格。所以我需要刪除anchor [0] [0],anchor [0] [1],anchor [0] [2],anchor [1] [0],anchor [1] [1],anchor [ 1] [2] ... – shumway21 2012-07-12 20:51:31

+0

我理解你想在1個單元中連續寫入所有錨點數組值嗎? – 2012-07-12 20:57:28

+0

是的,沒錯。列A行1 +列B行1列A行1 +列B行2列A行1列B行3 ...列A行2 +列B行1列A行2 +列B行2列A行2 +列B行3 – shumway21 2012-07-12 21:01:54

1

假設你有

var x = [[1,2,3],[4,5,6]] 

然後這些行中的任一行都會給你「123456」:

Array.prototype.concat.apply([], x).join('') 
    x.map(function(a){ return a.join(''); }).join(''); 

第一個構造數組[1,2,3,4,5,6],然後加入它。第二個首先加入每個內部數組,構造[「123」,「456」],然後加入。儘管我們在這裏談論花生,但我認爲第一個可能會更有效一些,但如果你想在行和列之間加入不同的東西,第二個可以讓你更有控制力。

在這兩種情況下,這都不會更改x中的原始值。如果這是你想要的,你可以將新值賦給x。