【问题标题】:Sort output of getValues() in Google Apps Script [duplicate]在 Google Apps 脚本中对 getValues() 的输出进行排序 [重复]
【发布时间】:2018-03-13 13:28:48
【问题描述】:

我尝试在 google 脚本中对一组值进行排序。我得到了.getRange().getValues() 的值。我想对它们进行升序排序,但不知道如何。我已经尝试了不同的解决方案,但没有任何帮助。也许有人有想法?目前的代码如下所示:

提前致谢

var values = simsSheet.getRange("A1:NTP1").getValues();
   values.sort(function(a,b){
     return a - b;
   });
Logger.log(values);

【问题讨论】:

  • 您是否研究过ab 是什么? getValues 返回Object[Object[]]...(即数组的数组)
  • 你的价值观是什么?
  • @AntonDementiev 值并不重要 - OP 的比较器函数正在从数组中减去一个数组。
  • 同意,但如果他想比较字符串,这很重要))

标签: javascript arrays sorting google-apps-script


【解决方案1】:

您需要决定要对哪一列进行排序以及根据什么条件进行排序。如 cmets 中所述,您的数据是一个数组数组,因此您必须进一步检查数据一级。 最常见的代码形式如下:

array.sort(function(x,y){  // tri libellé simplifié
    var xp = x[0]; // in this case on the first column
    var yp = y[0]; // same
    return xp < yp ? -1 : xp > yp ? 1 : 0;
  });

如果您想对数值或仅对部分数据进行排序,则将 x[0] 和 y[0] 的值更改为您想要的数据类型。 例如xp = parseInt(x[0],10); 将根据数据的整数值(不带小数)进行排序......您可以想象到很多可能的变化

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2020-12-27
    相关资源
    最近更新 更多