对于给定目录,如何在Node.JS中按时间顺序(按日期修改)获取文件列表?我在文件系统文档中没有看到任何内容。

最佳答案

试一试。

var dir = './'; // your directory

var files = fs.readdirSync(dir);
files.sort(function(a, b) {
               return fs.statSync(dir + a).mtime.getTime() -
                      fs.statSync(dir + b).mtime.getTime();
           });

我使用了方法的“同步”版本。您应该根据需要使它们异步。 (可能只是readdir部分。)

如果您缓存统计信息,则可能可以稍微提高性能。
var files = fs.readdirSync(dir)
              .map(function(v) {
                  return { name:v,
                           time:fs.statSync(dir + v).mtime.getTime()
                         };
               })
               .sort(function(a, b) { return a.time - b.time; })
               .map(function(v) { return v.name; });

10-06 09:54
查看更多