For loop 如何在Google AppScript上推送根据条件输入的最新数据?

For loop 如何在Google AppScript上推送根据条件输入的最新数据?,for-loop,google-apps-script,google-sheets,For Loop,Google Apps Script,Google Sheets,目前,下面的代码检查数据是否满足两个条件,然后将其推送到数组中,但现在需要的是获取满足这些条件的最新数据。 数据集中的日期索引为[19](第20列) 我将如何着手调整它 for (var i = 0; i < values.length; i++) { if (values[i][0] == productCode && values[i][2] == productVersao) { data.push(values[i]); }

目前,下面的代码检查数据是否满足两个条件,然后将其推送到数组中,但现在需要的是获取满足这些条件的最新数据。 数据集中的日期索引为[19](第20列)

我将如何着手调整它

for (var i = 0; i < values.length; i++) {
         if (values[i][0] == productCode && values[i][2] == productVersao) {
        data.push(values[i]);
    } 
  }
for(变量i=0;i
提前多谢

函数最大最近值(值){
function themostrecent(values) {
  values.sort(function(a,b){
    var A=new Date(a[19]).valueOf();
    var B=new Date(b[19]).valueOf();
    return B-A;
  });
  for (var i = 0; i < values.length; i++) {
    if (values[i][0] == productCode && values[i][2] == productVersao) {
      data.push(values[i]);
      break;
    } 
  }
  return data;
}
值。排序(函数(a,b){ var A=新日期(A[19])。valueOf(); var B=新日期(B[19])。valueOf(); 返回B-A; }); 对于(变量i=0;i
函数最小最近值(值){
值。排序(函数(a,b){
var A=新日期(A[19])。valueOf();
var B=新日期(B[19])。valueOf();
返回B-A;
});
对于(变量i=0;i
不错!这里有两个问题:01-它最终推到满足标准的第一行,而我获取数据的地方通常不止这些。02-我声明了两个以上的变量。排序以获取值的范围,这样我就不会看到错误。我真的需要在每个函数中声明这些变量吗,或者一个函数可以从其他函数继承变量/范围?我真正想说的是,如果你对数组进行排序,使最新的行是数组的开始,那么满足其他条件的第一行是最新的,因此如果把它放在循环之前,这就是你所需要的。我本来会这么做的,但你没有提供,所以我不能做得很好!这里有两个问题:01-它最终推到满足标准的第一行,而我获取数据的地方通常不止这些。02-我声明了两个以上的变量。排序以获取值的范围,这样我就不会看到错误。我真的需要在每个函数中声明这些变量吗,或者一个函数可以从其他函数继承变量/范围?我真正想说的是,如果你对数组进行排序,使最新的行是数组的开始,那么满足其他条件的第一行是最新的,因此如果把它放在循环之前,这就是你所需要的。我本来会这么做的,但你没有提供,所以我不能这么做