请注意,这不是 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/