GAS按日期排序多维数组

GAS Sort Multidimensional Array by Date

本文关键字:数组 排序 日期 GAS      更新时间:2023-09-26

我的脚本有时工作,有时出错。运行调试显示我的数组。排序可能是个问题。这是错误:

很抱歉,服务器发生错误。请稍候再试。

如果这是问题所在,我不确定为什么它有时会工作,而不是其他。

allData.sort(function(a,b){
  a = new Date(a[7]);
  b = new Date(b[7]);
  return a>b?-1:a<b?1:0;
});

有什么问题吗?数组的第7个位置包含日期,我想按日期排序。

我认为您需要隔离您的三元操作符。

return a>b?-1:(a<b?1:0);

由于某种原因,GAS似乎更喜欢这样:

allData.sort(function(a,b){return((a[7]<b[7])?-1:((a[7]>b[7])?1:0))}); 
    Logger.log(allData)
allData.reverse()

现在它工作了。不知道为什么,但这就是解决办法。