Javascript 从JS数组中删除非0 falsy值的最简单方法是什么?

Javascript 从JS数组中删除非0 falsy值的最简单方法是什么?,javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,我试图有一个功能,能够“拿起它离开了”在谷歌表 我需要找到特定列中包含数据的最后一行。 但是: 该工作表有许多其他列,其中包含更多行,因此我无法使用 获取工作表上的最后一行 我正在尝试确定到目标的范围,因此getLastRow现在将 也可以在范围级别工作,因为我还没有范围 我无法使用array.filter(字符串),因为我正在处理数值 我无法通过过滤去除falsy元素(通常用于过滤空白 数组值) 例如: var ss = SpreadsheetApp.getActiveSpreadshee

我试图有一个功能,能够“拿起它离开了”在谷歌表

我需要找到特定列中包含数据的最后一行。 但是:

  • 该工作表有许多其他列,其中包含更多行,因此我无法使用 获取工作表上的最后一行

  • 我正在尝试确定到目标的范围,因此getLastRow现在将 也可以在范围级别工作,因为我还没有范围

  • 我无法使用array.filter(字符串),因为我正在处理数值

  • 我无法通过过滤去除falsy元素(通常用于过滤空白 数组值)

例如:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Sheet1");
var range = sheet.getRange(B1:B);
var values = range.getValues(); //Pseudo Array values = [0,0,1,"",""]
var quantityOfValues= values.filter(?????).length //Goal: quantityOfValues== 3
var dataRange = sheet.getRange(1,2,quantityOfValues,1).... // do stuff to this range

删除所有错误值的最简单方法是EXCEPT zero,您可以检查truthy值或零

result = array.filter(v => v || v === 0);

删除所有错误值的最简单方法是EXCEPT zero,您可以检查truthy值或零

result = array.filter(v => v || v === 0);
查找柱高度 我就是这么做的:

function getColumnHeight(col,sh,ss){
  var ss=ss || SpreadsheetApp.getActive();
  var sh=sh || ss.getActiveSheet();
  var col=col || sh.getActiveCell().getColumn();
  var rg=sh.getRange(1,col,sh.getLastRow(),1);//This is just a reasonable starting point.
  var vA=rg.getValues();
  while(vA[vA.length-1][0].length==0){
    vA.splice(vA.length-1,1);
  }
  return vA.length;
}
查找柱高度 我就是这么做的:

function getColumnHeight(col,sh,ss){
  var ss=ss || SpreadsheetApp.getActive();
  var sh=sh || ss.getActiveSheet();
  var col=col || sh.getActiveCell().getColumn();
  var rg=sh.getRange(1,col,sh.getLastRow(),1);//This is just a reasonable starting point.
  var vA=rg.getValues();
  while(vA[vA.length-1][0].length==0){
    vA.splice(vA.length-1,1);
  }
  return vA.length;
}

如果中间有空白细胞怎么办?像<代码> [01,1,2,],“,”,1,“”,“”/> >如果中间有空白细胞……例如
[0,1,2,”,“,”,1,“,”]