我有一个数组,其中包含文件夹中每个文件夹的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;
}
}
答案 0 :(得分:0)
关于YYMMDD格式的一个好处是字母排序与时间顺序相同(只要我们保持在同一世纪;否则,你真的应该使用YYYYMMDD)。所以,解决方案就是简单地使用
output.sort()