GAS按日期排序多维数组

时间:2013-04-15 16:31:19

标签: javascript google-apps-script

我的脚本有时会运行,有时会出错。运行调试显示我的array.sort可能是问题。这是错误:

  

很抱歉,发生了服务器错误。请稍等一下再试一次。

如果是问题,我不确定为什么它有时会起作用而不是其他人。

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

那有什么不对吗?我的数组的第7个点包含日期,我想按此排序。

2 个答案:

答案 0 :(得分:0)

我相信你需要隔离你的三元运营商。

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

答案 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()

现在它有效。不知道为什么,但这就是解决方案。