从用户输入变量开始for循环

时间:2018-08-13 23:00:03

标签: user-interface google-apps-script google-sheets

我正在处理一个在两个不同工作表之间交叉引用的工作表。它工作正常,但每张纸大约有10,000个条目,因此要进行大量检查。检查整个过程大约需要半小时。可以,用于初始检查。

话虽这么说,我每周只在表中添加新条目,因此不需要检查整个内容。我想我知道该怎么做,但我不确定该怎么写。

我的循环当前如下所示:

for (var i = 1; i < data1.length; i++) { 
    for (var j = 1; j < data2.length; j++) {
       ....

我猜想这样做的方法是创建一个变量,用该变量替换1,然后让用户输入该变量。我可以用两种不同的方法来做,我可以从工作表中的一个单元格中调用它(这不理想),或者可以在脚本执行之前弹出一个弹出窗口,允许用户输入数字。

我对JavaScript不太熟悉,我上了一两节课,但我真的不知道该怎么做。有人可以帮我吗?我确定我也需要截断和清理我的输入内容,以防万一,我也不知道该怎么做。

编辑:在弄乱了一点之后,我添加了

var j = Browser.inputBox('Enter the number of the row to start on:')

(理论上)这应该起作用,但是由于某种原因,如果我这样做,我总是以0个结果结束,我不确定为什么。我想我会把它弄得更乱。

1 个答案:

答案 0 :(得分:0)

我认为问题在于您正在内部For循环中重新声明j,这实际上抵消了您从用户输入中获得的值。下面的代码似乎可以完成您想要实现的目标。尽管这是非常基本的操作,并且可以接受大于20的输入,但不会导致任何内部循环迭代。希望这会有所帮助。

干杯!

var input = Browser.inputBox("Enter row number:");

for (var i = 1; i<5; i++) {
 Logger.log("i = "+i);

 for (var j = input; j<20; j++) {
   Logger.log("j = "+j);
 }
}