Google脚本按每个元素的前7位排序数组

时间:2018-01-10 18:56:53

标签: javascript arrays sorting google-apps-script

我有一个数组,其中包含文件夹中每个文件夹的URL和名称。每个文件夹名称都包含YYMMDD格式的日期,例如:170105_remainingfoldername。我需要按名称中的6个日期数字对此数组进行排序。有没有办法只查看排序比较函数的前6位数?

我尝试使用b-a,但由于文件夹名称长度不同,因此比较功能不会返回有用的排序。

//set new folder to get folder names and urls from
var parentFolderId = "ID Here";
var parentFolder = DriveApp.getFolderById(parentFolderId);
var folders = parentFolder.getFolders();
var output = [];


 while (folders.hasNext()) {
  var folder = folders.next();
  output.push([folder.getUrl(),folder.getName()]); 
 }

output.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
if (a[1] === b[1]) {
    return 0;
}
else {
    return (a[1] < b[1]) ? 1 : -1;
}
}

1 个答案:

答案 0 :(得分:0)

关于YYMMDD格式的一个好处是字母排序与时间顺序相同(只要我们保持在同一世纪;否则,你真的应该使用YYYYMMDD)。所以,解决方案就是简单地使用

output.sort()