我以前使用过 MATLAB,存储和访问多维矩阵或数组是轻而易举的事。但是 javascript/AppsScript 让我很头疼。我知道使用 GAS,必须使用 for 循环伪造一个二维数组并将数组放入数组中。
有一次,这种形式array[i][j]
可以正常工作。还有一次我根本无法访问它。
我想我需要快速总结一下 GAS 中数组的工作原理。尤其是多维数组...
话虽如此,这就是为什么我需要回答这个问题的具体情况。
我有这样的事情:(故意将第二行留下一个数据。这些行不一定具有相同的长度。)
A B C D E F G H I
abc 456 789 012 345 678
def 234 567 890 123
ghi 012 345 678 901 234
第一列有文本,其余的是数字。基本上,由于这里要说的原因太长,我需要两个数组:一个是第一列的值,另一个是每行的数字“数组”。
像这样的东西:
firstArray = [abc, def, ghi];
secondArray = [[456, 789, 012, 345, 678], [234, 567, 890, 123], [012, 345, 678, 901, 234]];
然后要访问它们,我有一个双重for loop
设置:
for (var ii = 0; ii < firstArray.length; ii++) {
do something with firstArray[ii];
for (var jj = 0; jj < secondArray[ii].length) {
do something with secondArray[ii][jj];
}
}
为了制作第二个数组,我正在使用该getValues()
方法。我做这样的事情:
sh.getRange('B1:1').getValues();
我必须做 'B1 : 1' 因为我似乎找不到lastColumn()
. RANGE
它只存在于SHEET
. 这会导致secondArray
在使用getValues()
.
无论如何,我希望我没有吹嘘太多。任何反馈表示赞赏。我知道这篇文章的结构很奇怪。