2013-03-01 53 views
0

我正在使用数组来处理电子表格数据,并对其进行处理。在这种情况下,我在列中查找true的值,然后想要删除该行。下面是我有:如何在匹配数组中的值后删除行?

for (r = 1 ; r < Array1.length; r++) { 
    if(Array1[r][33]== true) { 
     calcSheet.deleteRow(Array1[r])}; 
    } 

我看到了问题,但不知道该解决方案:firstArray [R]返回整个行作为一个数组,而不是行号。我怎样才能得到行号?这是逃避我。

更新:下面是完整的代码。再次感谢Serge。
您会注意到Serge指出了会发生的电子表格和数组匹配问题。下面的代码也会照顾到这一点;这就是所有这些r正在做的事情。

var rr = 0 

for (r = 1 ; r < firstArray.length; r++) { // iterate the first col of masterSheet 
    if(firstArray[r][33]== true) { 
    var rrr= rr + r 
    calcSheet.deleteRow(rrr +1); 
    rr-- 
    } 
}  

回答

2

对应于该阵列排片排r+1,如果你的数组是真正完成,即开始对ROW1(我想这第一行包含一些头,这就是为什么你从1阵列中的迭代)。

但会有另一个副作用如果删除该行:该阵列将不会在片材的精确镜像了(这将是由每个删除的行时间1行大)。

有很多方法可以解决这个问题,让我们知道,如果你想要一些提示。

相关问题