我正在尝试创建多个循环,但是如果一个循环返回null,则不会运行其余的循环。我该如何解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我正在尝试创建多个循环,但是如果一个循环返回null,则不会运行其余的循环。我该如何解决?相关的知识,希望对你有一定的参考价值。

我在一个代码中有多个for循环,因为我试图根据标识符“ Y”来收集数据。有些工作表没有标识符“ Y”,并且这些工作表总是导致我的脚本停止运行,因为错误找不到该特定for循环中的长度,因为没有。

我该如何解决?我已经尝试过在我认为可以正常使用且无法正常工作的所有地方使用/是否使用其他方法。

我已经尝试过if / else语句和中断,但是我不能把它们放在正确的位置。

var VDSLr = VDSL.getRange('A:AS'); 
var VDSLraw = VDSLr.getValues(); 
var VDSLdata = []
for (var i = 0; i< VDSLraw.length ; i++) 
    if (VDSLraw[i][44] == "Y")
    
        VDSLdata.push(VDSLraw[i]) 
    
    Pull.getRange(Pull.getLastRow()+1,1, VDSLdata.length, 
    VDSLdata[0].length).setValues(VDSLdata);


var ITr = IT.getRange('A:AS'); 
var ITrawdata = ITr.getValues(); 
var ITd= []
for (var i = 0; i< ITrawdata.length ; i++)
    if(ITrawdata[i][44] == "Y")
    
        ITd.push(ITrawdata[i])
    
    Pull.getRange(Pull.getLastRow()+1,1, ITd.length, 
    ITd[0].length).setValues(ITd);



 **Edit: it won't let me post a picture of my error yet. Here's a few 
examples though:
Error (1):** 

var VDSLr = VDSL.getRange('A:AS'); 
var VDSLraw = VDSLr.getValues(); 
var VDSLdata = []
for (var i = 0; i< VDSLraw.length ; i++) 
  if (VDSLraw[i][44] != "Y")**continue**;
  if (VDSLraw[i][44] == "Y");


VDSLdata.push(VDSLraw[i]) 


Pull.getRange(Pull.getLastRow()+1,1, VDSLdata.length, 
VDSLdata[0].length).setValues(VDSLdata);

var ITr = IT.getRange('A:AS'); 
var ITrawdata = ITr.getValues(); 
var ITd= []
for (var i = 0; i< ITrawdata.length ; i++) 
  if (ITrawdata[i][44] != "Y")continue;
  if (ITrawdata[i][44] == "Y")
   
   ITd.push(ITrawdata[i])
   

Pull.getRange(Pull.getLastRow()+1,1, ITd.length, 
ITd[0].length).setValues(ITd);

因此,如果我在此处继续输入,它将不会读取长度。错误代码是“无法从未定义中读取属性“长度”。我知道这是正确的。这是我要绕过的内容。“ VDSL”是通常没有我要查找的表。找不到不会继续覆盖“ IT”的长度。

我也绕过继续到不同的地点,甚至休息(与继续在同一地点),但我的组合似乎提供了永无休止的相同信息循环。

另一个尝试是使用if else语句。当我使用这些时,会出现合成错误。针对此错误(2),我尝试过:

  if (VDSLraw[i][44] == "Y")
  //code here
  else if (VDSLraw[i][44] != "Y")break;

我觉得我要使它变得比原来更复杂,应该是一个简单的if / then语句,但是由于我必须将数据提取并编译到一张纸上,因此for循环是最好的方法。只是无法弄清楚最后一块。我可以分开做,但这是我的最后选择。有12个工作表,所以每次我需要单击12个脚本似乎都不太有效。

我在一个代码中有多个for循环,因为我试图根据标识符“ Y”来收集数据。有些工作表没有标识符“ Y”,并且这些工作表总是导致我的脚本停止...

答案

只要您提供有关数据的有限信息,我就会做出一些假设,希望它能满足您的需求。

以上是关于我正在尝试创建多个循环,但是如果一个循环返回null,则不会运行其余的循环。我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

循环在图表控件中创建多个系列

如何在 for 循环中创建多个复选框?

我正在尝试创建一个在循环遍历文本文件时使用变量值的类

Columns子代不能返回null,但是返回将停止循环

尝试使用具有并行循环的多个 GhostScript 实例进行打印。

Winsock - 客户端断开连接,关闭套接字循环/最大连接数