javascript - JS 在应用程序脚本中将数组推送到数组(连接)

标签 javascript arrays google-apps-script

请注意,这不是 How to extend an existing JavaScript array with another array, without creating a new array? 的重复项因为我想要一个嵌套数组,而不是简单地用另一个数组扩展一个数组以生成 1 个数组。在将其标记为重复之前,请正确阅读问题。

我正在(Google)工作表中循环行以收集值,并且希望将每一行作为数组添加到数组中,这应该会产生如下所示的输出(用于说明的简化示例):

array_main = [[row1_cell1,row1_cell2,row1_cell3], [row2_cell1,row2_cell2,row2_cell3], ...]

我首先尝试使用 .push 来添加值,但不是作为数组:

accounts_last_row = 10
accounts_array = []

for (var i = 0; i < accounts_last_row; ++i) {
  if ((accounts_range[i][1] == 'test') {
    accounts_array.push([ [accounts_range[i][1]],[accounts_range[i][2]] ])
  }
}

我知道有人问过类似的问题,但大多数人只是建议使用 .concat 来合并 2 个数组。我也尝试过,但它没有向数组添加任何内容:

...
if ((accounts_range[i][1] == 'test') {
    accounts_array.concat( [accounts_range[i][1]],[accounts_range[i][2]] )
  }
...

我错过了什么?提前致谢。

最佳答案

你几乎已经成功了,内部数组很简单,你的括号太多了。

尝试这样:

accounts_array.push( [accounts_range[i][1],accounts_range[i][2]] );

上面的代码将用于添加行。 如果您想将数据添加为单列,则必须像这样更改括号:

accounts_array.push( [accounts_range[i][1]],[accounts_range[i][2]] );

关于javascript - JS 在应用程序脚本中将数组推送到数组(连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51985692/

相关文章:

c - 在结构数组中查找值

c - 尝试打印二维数组中的值

C++:动态创建以for循环迭代器命名的数组

google-apps-script - 如何在 Google App Script 中格式化从 Google 文档复制的文本?

javascript - 使用 MailApp.sendEmail 设置正文电子邮件文本格式的替代方法

javascript - 如何获取创建的特定对象的连接值

javascript - navigator.getUserMedia() 录音 - 如何设置麦克风的音量输入级别?

javascript - iPad 上的 HTML5 视频元素不会触发 onclick?

javascript - 如何使用 javascript 找到背景图像的 y 偏移量?

javascript - 如何在 Google Apps 脚本中动态创建新工作表时附加第一行数据