按日期过滤数组并将匹配数据集传递给新数组以写入 google sheet

filtering an array by date and pass matching data set to a new array to be written into a google sheet

您好,我目前正在尝试使用 ArrayLib 比较一组数据,但它无法匹配我的任何日期,因此传递了所有数据集,而不仅仅是日期范围之间的数据集。如果有更好的方法来实现这一点,我愿意接受 [我目前正在使用的代码副本][1]:https://i.stack.imgur.com/Uj7Wo.png

编辑:根据要求 Google sheet 样本数据 table 即时使用:https://docs.google.com/spreadsheets/d/1whrB9O84i85grz6Av3EY-hnGGNvVG6ji_v5w7X_rMG0/edit?usp=sharing

您可以尝试下面的示例脚本,而不是使用单独的库按日期过滤多维数组:

示例脚本

function main() {
  var ssLc = SpreadsheetApp.getActive().getActiveSheet();
  var rangeLc = ssLc.getRange('A1:R15');
  var Lc = rangeLc.getValues();

  var startDate =  new Date('January 04, 2021 08:00:00'); //Used GMT time on my testing
  var endDate =  new Date('June 03, 2021 08:00:00'); //Used GMT time on my testing

  var sampleResult = filterByDate(Lc, startDate, endDate);

  for(x=0; x<sampleResult.length;x++){ //Sample loop to log the each filtered array data
    Logger.log(sampleResult[x]);
  }
}

function filterByDate(arrayData, startDate, endDate){
  var newArrayResult = [];
  for(index = 0; index < arrayData.length; index++){
    if(arrayData[index][0].getTime() >= startDate.getTime() && arrayData[index][0].getTime() <= endDate.getTime()){
      newArrayResult.push(arrayData[index]);
  }
 }
 return newArrayResult;
}

示例结果:

Used your sample spreadsheet data:

Sample result by filtering data from January 04, 2021 to June 03, 2021