0

当我将逗号写入谷歌电子表格中的单元格时,我在从数组中删除逗号时遇到了一些麻烦。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);      
}
4

2 回答 2

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。

于 2012-07-13T13:30:12.513 回答
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 都必须在同一个单元格中,那么在 i-loop 中这样写:

var anchorString += anchor[i].join(); 
Logger.log(anchorString) 
于 2012-07-12T20:35:01.923 回答