首页 > 解决方案 > Google Apps 脚本 - 将数据列转换为数组

问题描述

我有一个程序如下

function test() {
var urls = [
    'URL1, 
    'URL2',
    'URL3'
  ]

var results = xx(urls)

^然后 xx 发挥它的魔力并产生结果。

现在我想通过电子表格中的列输入网址,而不是将它们硬编码到脚本中,所以我尝试了

 function test() {
    var urls = []
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Input")
    urls[0] = ss.getRange(2, 1, ss.getLastRow()-1,1).getValues().join()
    
    var results = xx(urls)

但结果是只有一个 URL 得到处理。

标签: javascriptarraysgoogle-apps-script

解决方案


解释:

您还没有提供这个神奇xx函数的作用,但根据第一个代码片段,xx它接受单个元素数组。

因此,从2D数组到的一种方法1D是使用平面

解决方案:

function myFunction() {
  const ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Input")
  const urls = ss.getRange(2, 1, ss.getLastRow()-1).getValues().flat(); // 1D array
  const results = xx(urls);
}

推荐阅读