2012-07-12 144 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。