gpt4 book ai didi

javascript - 删除或忽略数组中的空单元格

转载 作者:行者123 更新时间:2023-12-02 22:05:21 27 4
gpt4 key购买 nike

我已经尝试了我在这里看到的所有解决方案/代码,但没有任何效果。没有改变任何东西。我有一个循环来定义我的数组。一些单元格在我复制的位置被合并,并且数组也包含空列。

这是我的代码:

var array = []; 
for (var m = 0; m < startRows.length; m++) {
array[m] = sourceSheet.getRange(startRows[m],5,3,29).getValues().filter(String);
}
// Logger.log("array: " + array[0]);

为什么这不起作用?

编辑:数组[0]的日志:

[20-01-14 14:54:29:668 GMT] array:   Chlorine content,,,,,1 / d,,ASTM D5463,,,,,NSP601,,,Sat Dec 30 1899 14:05:00 GMT+0000 (Greenwich Mean Time),,0.42,,,,ppm,,,0.3 - 0.5,,,,,TREATED SEAWATER,,,,,,,,,,,,,,,,,,,,,,,,,,,,

最佳答案

首先,您不应该使用循环来获取 Range 中的值。您可以执行相同的操作:

var array = sourceSheet.getRange(startrow,5,3,29).getValues();

或者如果您正在获取工作表的所有值:

var array = sourceSheet.getDataRange().getValues()

但是,您可以使用 splice 删除数组的空白点。功能。由于它正在删除位置,因此每次找到空位时数组都会缩小,因此这里使用的 for 循环必须向后移动:

  for (var i = array.length; i >= 0; i--){

if (array[i] == ''){
array.splice(i, 1); //i is the index, 1 is the number of positions to delete
}

}
Logger.log(array);

如果您在没有循环的情况下声明并设置数组的值,它将是一个二维数组,如documentation中所示。 。

关于javascript - 删除或忽略数组中的空单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59736187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com